# benchmark/common.pl use 5.008_001; use strict; use B qw(svref_2object); use Config qw(%Config); use XSLoader(); use DynaLoader(); use Carp qw(longmess); $SIG{__WARN__} = \&longmess; sub perl_signeture{ printf "Perl %vd on %s\n", $^V, $Config{archname}; } sub module_signeture{ my($name, $subr) = @_; my $cv = svref_2object($subr); printf "%s(%s)/%s\n", $name, $cv->XSUB ? 'XS' : 'PurePerl', $name->VERSION; } sub signeture{ my %mods = @_; perl_signeture(); while(my($name, $subr) = each %mods){ module_signeture($name => $subr); } print "\n"; } if(grep { /^--pureperl$/ } @ARGV){ no warnings 'redefine'; *DynaLoader::bootstrap = sub{ die }; *XSLoader::load = sub{ die }; } 1;