use strict; use warnings; "ctaacxxxxxxxxxxxxxxxxxxxxxxx" =~ / ( #begin $1 ct (a|g) # $2 a (c|t) # $3 ) #end $1 (.{20,50})$ # $4 /ix; print "\n$1,$2,$3,$4"; my ($branch,$pyrich)=($1,$4); print "\n$branch$pyrich";