packageについて1
packageとはブロックである。
#!/usr/bin/env perl use strict; use warnings; my $main_lex = 'main_lex'; our $main_our = 'main_our'; package Foo; print $main_lex, "\n"; print $main_our, "\n"; __END__
main_lex main_our
packageとはブロックであるので、
#!/usr/bin/env perl use strict; use warnings; my $main_lex = 'main_lex'; our $main_our = 'main_our'; { print $main_lex, "\n"; print $main_our, "\n"; } __END__
と書き換えられる。