Front page | perl.beginners |
Postings from February 2002
RE: Uninitialized Value Error
Thread Previous
|
Thread Next
From:
Luke Bakken
Date:
February 25, 2002 13:17
Subject:
RE: Uninitialized Value Error
Message ID:
Pine.BSO.4.44.0202251307460.15835-100000@ics-server.interface-net.com
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: slhgkh5@attbi.com [mailto:slhgkh5@attbi.com]
> Sent: Monday, February 25, 2002 10:15 AM
> To: beginners@perl.org
> 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: beginners-unsubscribe@perl.org
> For additional commands, e-mail: beginners-help@perl.org
>
> --
> To unsubscribe, e-mail: beginners-unsubscribe@perl.org
> For additional commands, e-mail: beginners-help@perl.org
>
Thread Previous
|
Thread Next