use strict; open (INFILE, ") { foreach ( /(\w+\.cxx)\b/g ) { $files{$_}++; } } close INFILE; open (OUTFILE, ">outfile") or die "could not open file"; foreach (sort keys %files) { print OUTFILE "$_\n"; } close OUTFILE; #### aclpi.cxx i95val.cxx radiomeasurements.cxx rlpval.cxx #### foreach (sort keys %files) { system "build", $_; }