use autodie qw(:all); use Errno qw(ENOENT); use Try::Tiny; try { open my $in_handle, '<', 'textfile'; my $first_line = readline $in_handle; } catch { if (ENOENT == $_->errno) { open my $out_handle, '>', 'statusfile'; print {$out_handle} ('0'); } };