Main( @ARGV ); exit( 0 ); sub Main { for my $file ( @_ ){ TryAndDoStuffOrDieAndEndProgram( $file ); } } sub TryAndDoStuffOrDieAndEndProgram { open ... or die "Can't open ($file): $! "; ... close ... return; }