use File::BOM 'open_bom'; # ... eval { open_bom(LOG, $sqlErrorlog) }; if ($@) { $ref->{log_open_error} = "***Error: $@"; # don't know what Win32::GetLastError would do here # just try it, if you really need it... # $ref->{log_open_error} .= Win32::FormatMessage(Win32::GetLastError); return $ref; }