sub main { # read arguments ... # process arguments ... # open a file ... # process the file ... # open output file ... # write output file ... # clean up temporary files ... # exit } #### sub main { my %args = read_arguments(); process_args( \%args ); my $file = open_file( \%args ); my $data = process_file( $file, \%args ); write_output( $data, \%args ); cleanup( $file, \%args ); }