use strict; use warnings; my %codons; my %aas; my $previous_file = ''; while (<>) { if ( $previous_file ne $ARGV ) { open OUTPUT, '>', "$ARGV.aa" or die "Can't open $ARGV.aa for writing: $!"; $previous_file = $ARGV; } tr/t/u/; if ( exists $codons{$_} ) { my $codon = $codons{$_}; if ( exists $aas{$codon} ) { print OUTPUT $aas{$codon}; print $aas{$codon}; } } }