BEGINブロックとENDブロック
BEGINブロックとENDブロックのよばれる順番を調べたくて調査してみた。 以下のようにソースを書いてlibディレクトリの下に保存。
Hoge.pm
package Hoge;
use strict;
use warnings;
BEGIN{
print "Hoge BEGIN\n";
}
END{
print "Hoge END\n";
}
1;
Fuga.pm
package Fuga;
use strict;
use warnings;
BEGIN{
print "Fuga BEGIN\n";
}
END{
print "Fuga END\n";
}
1;
そんでもって、libの上の階層にcdしてから、以下を実行すると
$ perl -Ilib -MFuga -MHoge -e 'print "Hello World!\n"'
Fuga BEGIN
Hoge BEGIN
Hello World!
Hoge END
Fuga END
$ perl -Ilib -MHoge -MFuga -e 'print "Hello World!\n"'
Hoge BEGIN
Fuga BEGIN
Hello World!
Fuga END
Hoge END