%main::err = (
"errno" => 1,
"message" => "I'm dead I am",
);
####
#!/usr/bin/perl
use Data::Dumper;
die Data::Dumper->Dump([ { # die with a hash value
"errno" => 1,
"message" => "I'm dead I am",
} ], [ '*err' ]) . "\n";
1;
####
# This is our error container
my %err;
# Rather than "require", we use "do". This stops
# the compilation warning from appearing.
eval {
do "some_code.pl";
die $@ if $@;
};
if ($@) {
eval $@; # evaluate our "error" string
print $err{errno}; # print our errno
print $err{message}; # print our message
}