for my $href ( @AoH ) { for my $key ( sort keys %$href ){ if ( ! exists $sequences{$key} ) { warn "KEY $key in File1 not found in File2\n"; next; } if ( length( $sequences{$key} ) < $href->{$key} ) { warn "KEY $key: File2 string length too short for File1 position value\n"; next; } my $index = rindex( $sequences{$key}, "TTT", $href->{$key} ); if ( $index < 0 ) { warn sprintf( "KEY %s: No TTT in File2 string prior to position %d\n", $key, $href->{$key} ); next; } $index += 3 while ( ($index + 3) < $href->{$key} ); print "$key $href->{$key} " . substr($sequences{$key}, $index, 3) . "\n"; }