Die Doesn't Just Accept Strings 

sub throw {
  my($message) = @_;
  my($package, $file, $line) = caller(0);
  die { file => $file, line => $line, message => $message };
}