in reply to perl doesn't like variable
Under use strict, your $counter is initialized before it is declared:
So you have to declare it (outside of while(<INPUT>)):
Note, that you don't need use vars qw($counter); afterwards.
Otherwise you would declare just another variable called $counter living in the symbol table:
$counter = 0; use vars qw($counter);
So you have to declare it (outside of while(<INPUT>)):
my $counter = 0;
Note, that you don't need use vars qw($counter); afterwards.
Otherwise you would declare just another variable called $counter living in the symbol table:
my $counter = 0; # declare and initialize lexical variable use vars qw($counter); # declare global variable living in symbol tabl +e + + $counter = 0; # initialize again, just to show that $counter in 'use v +ars' is not affected print "\$main::counter: $main::counter\n"; # $counter living in symbol + table: not initialized $main::counter = 1; # initialize $counter in symbol table print "\$main::counter: $main::counter\n"; # prints 1 print "\$counter: $counter\n"; # prints 0
|
---|
In Section
Seekers of Perl Wisdom