my $pos = 0; while ( $pos < length( $all ) ) { my $si = index ( $all, "", $pos ); if ( $si < 0 ) { last; } my $sj = index ( $all, "", $si+1 ); if ( $sj > $si+1 ) { ... Collect you string with 'substr' etc. } $pos = $sj + 4; # set search for finding next text. }