local $SIG{'__DIE__'} = sub { my $my_today_int = $today_int; my $my_no_call_requested_days = $no_call_requested_days; my $my_i = $i; my $my_user_id = $user_id; my @dump = (); # Just grabbing the values of these so that # strict will cope with them. push @dump, $_[0], ""; push @dump, Dumper($my_today_int, $my_i, $my_user_id), ""; push @dump, Dumper($my_no_call_requested_days), ""; { use strict; my @today = @{$my_no_call_requested_days->{$my_today_int}}; push @dump, "today: " . Dumper(@today), ""; my $ref = $today[$my_i]; push @dump, "ref: " . Dumper($ref), ""; my $employee_id = $ref->{'employee_id'}; push @dump, "employee_id: [$employee_id]", ""; if($employee_id eq $my_user_id) # should be "==" { push @dump, "They are the same!", ""; } } &debug(@dump); };