The unwisdom of your beguilement with package globals may be demonstrated by the following code. Can you explain the difference between the outputs of the two loops?
c:\@Work\Perl\monks>perl -wMstrict -e "for ($loop::i = 0; $loop::i < 3; $loop::i++) { clust($loop::i) } print qq{\n}; ;; for (my $i = 0; $i < 3; $i++) { clust2($i); } ;; ;; sub clust { my ($n) = @_; ;; for ($loop::i = 0; $loop::i < 3; $loop::i++) { my $m = $n * $loop::i; print qq{= $m }; } print qq{\n}; } ;; sub clust2 { my ($n) = @_; ;; for (my $i = 0; $i < 3; $i++) { my $m = $n * $i; print qq{- $m }; } print qq{\n}; } " = 0 = 0 = 0 - 0 - 0 - 0 - 0 - 1 - 2 - 0 - 2 - 4
Global data is, IMHO, always problematic. If you are looking for up-to-date on-line general introductory tutorials, I would suggest perlintro, perhaps followed by chromatic's freely downloadable Modern Perl.
In reply to Re^3: Array storage issue
by AnomalousMonk
in thread Array storage issue
by viored
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |