in reply to confused with strings

I thought of the function index first, which gets the position of a string (or character, in this case).

my $seq = "XX**XXX!!!X**AB*!C*DXX*!!!XXX**XXX"; # The code presumes that it's a correct sequence. # If you're getting the sequence from somewhere else you # should check it to make sure it contains the right letters. print "#" . index($seq, "A") . "-#" . index($seq, "D") . "\n";

This is the easiest way; your method works too, but it would involve splitting up the string and operating on that, so using index is easier.