die "Usage: $0 InputFile1 InputFile2 OutputFile\n" unless @ARGV==3; my ($InputFile1, $InputFile2, $OutputFile3) = @ARGV; # ... rest of the code here #### sub process_files { my ($InputFile1, $InputFile2, $OutputFile3) = @_; # ... rest of your code here } #### my @filesets = ( { input1 => "edited_archaea_master_list.txt", input2 => "testprefix172_single_line_nostrains_aligned_gaps_test.meg", output => "rearrangement_out_test.txt" }, # ... more file sets here ); for my $fileset (@filesets) { process_files( $fileset->{input1}, $fileset->{input2}, $fileset->{output} ); }