#!usr/bin/perl use strict; use warnings; my $substring = 'TAA'; while (<>) { chomp; next if $. < 2; # Skip first line my $found = index($_, $substring); while ($found != -1) { # check for multiple occurrences in the same string print "Found $substring at $found\n"; my $offset = $found + 1; $found = index($_, $substring, $offset); } } continue { close ARGV if eof; # reset $. } __END__ $ perl bio_2.pl sequence.fa Found TAA at 29 Found TAA at 73 Found TAA at 106 Found TAA at 201 Found TAA at 248 Found TAA at 332 Found TAA at 378 Found TAA at 385 Found TAA at 448 Found TAA at 480 Found TAA at 512 Found TAA at 722 Found TAA at 743 Found TAA at 857 Found TAA at 864 Found TAA at 870 Found TAA at 934 Found TAA at 974 Found TAA at 1008 Found TAA at 1019 Found TAA at 1265