Predeclare all of the variables you're using in your format at the top of the script with my:
my ($field1, $field2, $field3); this way you can still keep the benefits of use strict On Mon, 25 Feb 2002, Lyon, Justin wrote: > Hmmmm. Well, I think the problem is that you're using too strict > guidelines. "my" will restrict you from using a variable outside the > current scope, so you won't be able to access it come time to format. The > quickest way arround that is to get rid of your "use strict;" line, and then > get rid of all the "my" declarations. Then you'll be using all global > variables, and it should run fine. If you want to use a less global style, > try using a different scope identifier (but not "my"). > > Justin > > -----Original Message----- > From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] > Sent: Monday, February 25, 2002 10:15 AM > To: [EMAIL PROTECTED] > Subject: Uninitialized Value Error > > > When I run the following script, I get the following > error. Being new to perl, I am having trouble > identifying where the error is at. > > Thanks for your help. > > Error: > Use of uninitialized value at user_access1.pl line 43, > <F_ACCESS> chunk 29. > > Here is the code: > > #!/usr/bin/perl -w > > use strict; > > use constant PATH > => "/usr/local/scripts/security/sybase/user/"; > use constant GROUPS => "group_files.doc"; > use constant ACCESS => "user_access_all.doc"; > > open F_GROUPS, PATH.GROUPS or die "Can't open: $!"; > > while (<F_GROUPS>) { > chomp(my @field = split /:/); > my $field1 = $field[0]; > my $field2 = $field[1]; > my $field3 = $field[2]; > > open OUT, ">$field[1]" or die "Can't open: $!"; > open F_ACCESS, PATH.ACCESS or die "Can't open: > $!"; > > while (<F_ACCESS>) { > chomp (); > my $user = $_; > if (/$field[0]/) { > write OUT;} > } > close OUT or die "Can't close: > $!"; > close F_ACCESS or die "Can't close: > $!"; > > > #unlink > glob "/usr/local/scripts/security/sybase/user/*.txt"; > exit; > } > > format OUT_TOP = > ||||||||||||||||||||||||||||||||||||||||||||||||||||||||| > ||||||||||| > > Company Name > first column second column Third > Column > _____________________________________________________ > ... > format OUT = > @<<<<<<<<<<<<<< @<<<<<<<<<<<<<< @<<<<<<<<<<<<<< > my $field1, my $field2, my > $field3 > ... > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]