#!/usr/bin/perl use strict; use warnings; my %data = ( 'key' => 'yek', 'foo' => 'oof', 'bar' => 'rab', 'baz' => 'zab', 'die' => '- DOOM -', ); eval { do_it(\%data); }; print("-- Opps, I died! Try again...\n"); do_it(\%data); exit(0); ### sub do_it { my $data = $_[0]; while (my ($key, $val) = each(%{$data})) { die if ($key eq 'die'); print("$key => $val\n"); } print("-- Did it\n"); }