現在のファイルが Perl ソースで実行されているファイルかどうかを判断する方法はありますか? Python では、次の構文でこれを行います。
if __name__ == '__main__':
# This file is being executed.
raise NotImplementedError
FindBin
と を使用して何かを一緒にハックできますが__FILE__
、これを行う標準的な方法があることを願っています。ありがとう!
現在のファイルが Perl ソースで実行されているファイルかどうかを判断する方法はありますか? Python では、次の構文でこれを行います。
if __name__ == '__main__':
# This file is being executed.
raise NotImplementedError
FindBin
と を使用して何かを一緒にハックできますが__FILE__
、これを行う標準的な方法があることを願っています。ありがとう!
unless (caller) {
print "This is the script being executed\n";
}
呼び出し元を参照してください。undef
メインスクリプトに戻ります。これはサブルーチン内では機能せず、最上位コードでのみ機能することに注意してください。
brian d foyの記事「Perlプログラミングを改善するための5つの方法」の「アプリケーションのサブクラス(第18章)」の部分を参照してください。
unless caller
は良いですが、より直接的な並列、およびより明示的なチェックは次のとおりです。
use English qw<$PROGRAM_NAME>;
if ( $PROGRAM_NAME eq __FILE__ ) {
...
}
私はそれをそこに出すと思った。
編集
$PROGRAM_NAME
(または' $0
')は書き込み可能であるため、これは絶対的なものではないことに注意してください。しかし、ほとんどの場合、事故や暴れ回るモジュールを除いて、これは変更されないか、せいぜい別のスコープ内でローカルに変更される可能性があります。