#!/usr/bin/perl -l # http://perlmonks.org/?node_id=1146191 use strict; use warnings; my $sequence = 'AATGGTTTCTCCCATCTCTCCATCGGCATAAAAATACAGAATGATCTAACGAA'; while( $sequence =~ /ATG/g ) { my $rest = $'; print 'ATG' . $` . $1 while $rest =~ /(TAG|TAA|TGA)/g; }