perl -e 'use strict;use warnings;$a=2;print $a'
It seems no warning is reported when I declare a global variable without our
,so when is this keyword necessary?
$a
and $b
are special cases - they are reserved for sort
(e.g. sort { $a <=> $b }
) and shouldn't be used for your own variable names - try again using something else and see what happens!
From perlvar:
$a
$b Special package variables when using "sort()", see "sort" in
perlfunc. Because of this specialness $a and $b don't need to
be declared (using "use vars", or "our()") even when using the
"strict 'vars'" pragma.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With