"before require\n"; require Hoge; print "after require\n"; require の直前のprint文が実行されている 逐次的に処理される ❯ perl hoge.pl before require Can't locate Hoge.pm in @INC (you may need to install the Hoge module) (@INC contains: ...) at hoge.pl line 8.
"before use\n"; use Hoge; print "after use\n"; 何もprintされずに終了する スクリプトの実行前にuseが処理される ❯ perl hoge.pl Can't locate Hoge.pm in @INC (you may need to install the Hoge module) (@INC contains: ... ) at hoge.pl line 8. BEGIN failed--compilation aborted at hoge.pl line 8.
use warnings; use feature qw/say/; use Exporter 'import'; our @EXPORT = (qw/hoge/); # サブルーチンの名前を文字列で配列の中にいれるとEXPORT される sub hoge { say 'this is first!'; } 1;
use warnings; use feature qw/say/; use Exporter 'import'; our @EXPORT = (qw/hoge/); # サブルーチンの名前を文字列で配列の中にいれるとEXPORT される sub hoge { say 'this is first!'; } 1;
Statement::Include として 解釈される use 5.006; use strict; use My::Module; use constant FOO => 'Foo'; require Foo::Bar; require "Foo/Bar.pm"; require $foo if 1; no strict 'refs';