CPAN と自分のプロジェクトの依存 Perl モジュールを内部的に使用する Perl スクリプトがあります。$0
スクリプトで(プロセス スクリプト名) 属性値を使用しています。不思議なことに、いくつかの依存 API 呼び出しの後、この値が突然 NULL になります。私は使用していないeval()
かsystem()
、自分のプロセスにいます。通常のトップダウン実行スクリプトです。価値が失われる理由は何だと思い$0
ますか?
質問する
176 次
1 に答える
9
Tie::StdScalarを使用して、誰が変更したかを調べます$0
。
{
package Tie::Scalar::Croaker;
use Tie::Scalar qw( );
use Carp qw( confess );
our @ISA = qw( Tie::StdScalar );
sub FETCH { $0 }
sub STORE { confess('$0 changed'); }
tie($0, Tie::Scalar::Croaker::);
}
于 2013-08-02T12:02:46.507 に答える