in reply to Re^2: Perl 5.10.1 - compare external program output with a list of known error codes
in thread Perl 5.10.1 - compare external program output with a list of known error codes

You missed the ->() piece, which turns it into a function call:

$errors{$program_output3}->();

it means, dereference $errors{$program_output3} as a CREF (code reference), and execute it.