package MyModule; use strict; use warnings; eval { require Data::Dump; 1} or require Data::Dumper; _mydump('this is %INC',\%INC); sub _mydump{ my ( $msg, $ref) = @_; print "$msg:\n"; { local $@; eval {dd $ref}; print Dumper $ref if $@; } } #out perl sopw.pl Name "MyModule::Dumper" used only once: possible typo at sopw.pl line 15. this is %INC: print() on unopened filehandle Dumper at sopw.pl line 15.