use strict; use warnings; while (my $line = ) { my @info = $line =~ /((?:^N+)?[ATGC]+(?:N+$)?)/g; print join(", ", @info), "\n"; } __DATA__ NNNAAAATATGACAAAGGGGTTNNNNNNNNNNNNNNGATGTCTGGTCAATAGGAT CGCAGCCATTAACATCTCAACAAGCCAAAAATTCCTTCTCAGAAATTCGGNNN AAAATATGACAAAGGGGTTNNNNNNNNNNNNNNGATGTCTGGTCAATAGGAT