If I have Perl code which use
es a lot of modules, is there a fast and easy way to find out if some of this modules are not pure Perl modules?
質問する
683 次
3 に答える
7
これは、私が「ブローアップセンサー」と呼んでいるものの仕事のように見えます。これを最初のモジュールの上部に配置することで、フックをブービートラップすることができます。
BEGIN {
require Carp; #Does the stack stuff
# Fool Perl into thinking that these are already loaded.
@INC{ 'XSLoader.pm', 'DynaLoader.pm' } = ( 1, 1 );
# overload boobytrapped stubs
sub XSLoader::load { Carp::confess( 'NOT Pure Perl!' ); }
sub DynaLoader::bootstrap { Carp::confess( 'NOT Pure Perl!' ); }
}
于 2013-01-02T17:29:47.967 に答える
-4
Perlプログラムのどのモジュールがまだマシンにインストールされていないかを試す必要がある場合。あなたはこのようにそれを行うことができます:
use ExtUtils::Installed;
my $installed = ExtUtils::Installed->new();
my @miss;
foreach $module ($installed->modules()){
@miss = $installed->validate($module);
}
print join("\n", @miss);
于 2013-01-02T18:03:13.123 に答える