How can I tell if used modules are pure perl?

module, perl

Solution

`@DynaLoader::dl_modules` contains the list of XS modules loaded.

perl -MSome::Module1 -MSome::Module2 -M... \
   -MDynaLoader -E'say for sort @DynaLoader::dl_modules;'

Or if you wanted to write it as a script:

# Usage: script Some::Module1 Some::Module2 ...

use 5.010;
use DynaLoader qw( );

while (defined($_ = shift(@ARGV))) {
   s{::}{/}g;
   $_ .= ".pm";
   require $_;
}

say for sort @DynaLoader::dl_modules;

Of course, nothing's stopping you from putting it in an existing script either.

use 5.010;
use DynaLoader qw( );
END { say for sort @DynaLoader::dl_modules; }

Problem

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?

Original source