#! perl -slw use strict; use Data::Dump qw[ pp ]; my @required = qw( File::Basename File::Copy File::Find ); pp \%INC; my @missing; foreach (@required) { s[::][/]g; s[$][.pm]; eval { require }; push @missing, $_ if $@; } print for @missing; pp \%INC; __END__ C:\test>junk39 { "Data/Dump.pm" => "c:/perl64/lib/Data/Dump.pm", "Exporter.pm" => "c:/perl64/lib/Exporter.pm", "List/Util.pm" => "c:/perl64/site/lib/List/Util.pm", "Scalar/Util.pm" => "c:/perl64/site/lib/Scalar/Util.pm", "XSLoader.pm" => "c:/perl64/lib/XSLoader.pm", "c:/perl64/site/lib/sitecustomize.pl" => "c:/perl64/site/lib/sitecustomize.pl", "overload.pm" => "c:/perl64/lib/overload.pm", "strict.pm" => "c:/perl64/lib/strict.pm", "subs.pm" => "c:/perl64/lib/subs.pm", "vars.pm" => "c:/perl64/lib/vars.pm", "warnings.pm" => "c:/perl64/lib/warnings.pm", "warnings/register.pm" => "c:/perl64/lib/warnings/register.pm", } { "Config.pm" => "c:/perl64/lib/Config.pm", "Cwd.pm" => "c:/perl64/site/lib/Cwd.pm", "Data/Dump.pm" => "c:/perl64/lib/Data/Dump.pm", "Exporter.pm" => "c:/perl64/lib/Exporter.pm", "File/Basename.pm" => "c:/perl64/lib/File/Basename.pm", "File/Copy.pm" => "c:/perl64/lib/File/Copy.pm", "File/Find.pm" => "c:/perl64/lib/File/Find.pm", "File/Spec.pm" => "c:/perl64/site/lib/File/Spec.pm", "File/Spec/Unix.pm" => "c:/perl64/site/lib/File/Spec/Unix.pm", "File/Spec/Win32.pm" => "c:/perl64/site/lib/File/Spec/Win32.pm", "List/Util.pm" => "c:/perl64/site/lib/List/Util.pm", "Scalar/Util.pm" => "c:/perl64/site/lib/Scalar/Util.pm", "XSLoader.pm" => "c:/perl64/lib/XSLoader.pm", "c:/perl64/site/lib/sitecustomize.pl" => "c:/perl64/site/lib/sitecustomize.pl", "overload.pm" => "c:/perl64/lib/overload.pm", "re.pm" => "c:/perl64/lib/re.pm", "strict.pm" => "c:/perl64/lib/strict.pm", "subs.pm" => "c:/perl64/lib/subs.pm", "vars.pm" => "c:/perl64/lib/vars.pm", "warnings.pm" => "c:/perl64/lib/warnings.pm", "warnings/register.pm" => "c:/perl64/lib/warnings/register.pm", }