perl -le "print join ' ', map{ucfirst} split / /, 'toto fait du velo' " Toto Fait Du Velo ... sound like what I expected ... perl -MO=Deparse -le "print join ' ', map{ucfirst} split / /, 'toto fait du velo' " BEGIN { $/ = "\n"; $\ = "\n"; } print join(' ', map({ucfirst $_;} split(/ /, 'toto fait du velo', 0))); -e syntax OK perl -le "print join(' ', map({ucfirst $_;} split(/ /, 'toto fait du velo', 0)));" Toto Fait Du Velo Toto Fait Du Velo Toto Fait Du Velo Toto Fait Du Velo 1 1 1 1