in reply to Re^2: uninitialized values
in thread uninitialized values
Here's a way to get rid of the warnings, but really you need to reconsider the whole approach used in the while loop. That code is a mess.
By declaring lexical variables inside the loop, they get reset each time through. Move the declarations out of the loop for them to persist.
You will still get one warning from line 1, because the code after the if loop is executed for all lines and @val2 is not yet defined. Adding next can fix that.my (@values1,@val1,@values2,@val2); while (<CMD>) { ...
my (@values1,@val1,@values2,@val2); while (<CMD>) { if ( $_ =~ /PING/ ){ @values1 = split ; @val1 = split(/\(/,$values1[3]); $val1[1] =~ s/\)//; next; } ...
Again, while these changes avoid the warnings and hopefully show you why they happened, the entire while loop needs a rethink.
|
---|
Replies are listed 'Best First'. | |
---|---|
Re^4: uninitialized values
by gaurav (Sexton) on Aug 20, 2013 at 05:26 UTC |
In Section
Seekers of Perl Wisdom