>perl -wMstrict -le "my $orig = 'fEEfoobarFIEFOOBARFoEfOoBaRfUM'; my $mod = 'Foo-Bar'; ;; (my $modmod = $mod) =~ tr/-//d; my $new = join $mod, map lc(), split /\Q$modmod\E/i, $orig, -1; print qq{'$new'}; " 'feeFoo-BarfieFoo-BarfoeFoo-Barfum'