>perl -wMstrict -le "my $orig = 'AABBCCDDEEFFGGHH'; my $mod = 'bCCDdEEFfgGH'; ;; my @chunks = split /$mod/i, $orig; my $new = qq{\L$chunks[0]\E$mod\L$chunks[1]\E}; print qq{'$new'}; " 'aabbCCDdEEFfgGHh' #### >perl -wMstrict -le "my $orig = 'fEEfoobarFIEFooBarFoEfOoBaRfUM'; my $mod = 'FooBar'; ;; my @chunks = split /\Q$mod\E/i, $orig, -1; my $new = join $mod, map lc(), @chunks; print qq{'$new'}; " 'feeFooBarfieFooBarfoeFooBarfum'