レキシカル変数
testlex.pl
#!/usr/bin/env perl my $value = 0; { my $value = 1; print "a: $value\n"; $value = 2; print "b: $value\n"; } print "c: $value\n";
実行結果
$ ./testlex.pl a: 1 b: 2 c: 0
testlex2.pl
#!/usr/bin/env perl my $value = 0; { $value = 1; print "a: $value\n"; $value = 2; print "b: $value\n"; } print "c: $value\n";
実行結果
$ ./testlex2.pl a: 1 b: 2 c: 2
モジュール、パッケージ、名前空間
orange.pm
package orange; $color = "orange"; 1;
blue.pm
package blue; $color = "blue"; 1;
namespace.pl
#!/usr/bin/env perl require orange; require blue; package orange; print "color: $color\n"; package blue; print "color: $color\n";
実行結果
$ ./namespace.pl color: orange color: blue