like(exception{ $checker->_get_event_data('qwerty.pl') }, qr/Failed to retrieve data from file/, 'file does not exist'); #### $logger->fatal("(Line: $line) " . $error ); print "\n"; open (STDOUT, '>/dev/null'); #squelch duplicate error output die $error; #### sub logf { my $error = shift; my $line = shift; if (!$line) { $line = [caller(0)]->[2]; } $logger->fatal("(Line: $line) " . $error); die "\n"; } #### sub _get_event_data { my $self = shift; my $file = shift; my $data; eval { $data = retrieve($file); }; if ($@) { logf('Failed to retrieve data from file'); ### Line that calls failure subroutine above } my $existing_events = $data->{existing_events}; return $existing_events; } #### throws_ok{ $checker->_get_event_data('qwerty.pl') } qr/Failed to retrieve data from file/, 'file does not exist'; #### $logger->fatal("(Line: $line) " . $error); die "$error\n";