Perl日記

日々の知ったことのメモなどです。Perlは最近やってないです。

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__

と書き換えられる。