# only Perl 5.10+ my $a; my $ref = "abc x abc y abc z abc\n"; # search 3rd occurence of 'abc' from start-of-line ($a = $ref) =~ s/^(?:.*?\Kabc){3}/___/; print $a; # search 4th occurence of 'abc' from start-of-line ($a = $ref) =~ s/^(?:.*?\Kabc){4}/___/; print $a; # omit ^ to search every 2nd occurence of 'abc' ($a = $ref) =~ s/(?:.*?\Kabc){2}/___/g; print $a; # omit ^ to search every 1st occurence of 'abc' ($a = $ref) =~ s/(?:.*?\Kabc){1}/___/g; print $a; __END__ abc x abc y ___ z abc abc x abc y abc z ___ abc x ___ y abc z ___ ___ x ___ y ___ z ___