sub my_sub { my $closed_handle = shift; die "For some reason our handle isn't closed yet." if $closed_handle->opened; } #### close $fh or my_sub($fh); sub my_sub { my $handle = shift; my $error = $handle->error; die "Got this error code: $error\n" if $error; } #### # Open a handle only if it's not opened. sub my_sub { open $_[0], '<', $_[1] if !$_[0]->opened; }