c:\@Work\Perl\monks>perl -wMstrict -le "my $ppi_pm_seq = 'ACTGCCT'; ;; my $n = 3; ;; my $extraction = my ($before, $mid, $after) = $ppi_pm_seq =~ m{ \A (.{$n}) (.) (.{$n}) \z }xms; ;; die qq{no extraction from '$ppi_pm_seq'} unless $extraction; ;; my ($ppi_pm_id, $ppi_mm_id, $mpi_pm_id, $mpi_mm_id) = map qq{$before$_$after}, $mid, grep $_ ne $mid, qw(A T C G) ; ;; print qq{'$_'} for $ppi_pm_id, $ppi_mm_id, $mpi_pm_id, $mpi_mm_id; " 'ACTGCCT' 'ACTACCT' 'ACTTCCT' 'ACTCCCT' #### my $s = 'ATCGxTGAC'; my $foreign = $s =~ tr/ATCG//c; print qq{foreign character in '$s'} if $foreign;