use strict; my $s=n_sub ("Toy boats are for the little boys" ,2,"b","g"); $s=n_sub ($s,4,"o","i"); $s=n_sub ($s,2,"y","rl"); print $s; sub n_sub { my ($os, $xth, $ic, $oc) = @_; my @el= split /$ic/,$os, $xth; $el[-1] =~ s/$ic/$oc/g; return join ($ic, @el); }