#!/usr/bin/perl # http://perlmonks.org/?node_id=1146191 use strict; use warnings; my $sequence = 'AATGGTTTCTCCCATCTCTCCATCGGCATAAAAATACAGAATGATCTAACGAA'; $sequence =~ /(ATG.*?(?:TAG|TAA|TGA))(??{print "$1\n"})/;