## Blah blah blah whatever populates $dumper my $dump_error = undef; my %info; if( not defined $dumper ) { $dump_error = 1; warn qq{Got undefined from dumper.\n}; } else { %info = %{ eval $dumper }; } ## Do something like this to handle the error (or if %info was empty, or . . .) next if $dump_error or %info == 0; #### my $info_ref = eval $dumper; if( $@ ) { ## Similar notes about what you log apply here too, but . . . warn qq{Problem during dumper eval: $@\n}; } else { %info = %{ $info_ref }; ## Or just use $info_ref->{blah} rather than $info{blah} }