($str, $substr, $newsubstr) = @ARGV; #while ( -1 != ($current = rindex($str, $substr))) { # substr $str, $current, length($substr), $newsubstr; #} $i = 0; while ( -1 != ($current = index($str, $substr, $i)) ) { substr $str, $current, length($substr), $newsubstr; $i = $current + length($newsubstr); } $\ = $/; print $str;