Вероятно, это не сбой. -e print 'hello world'
говорит Perl выполнить код print
с @ARGV, установленным на hello world
(или, возможно, ("'hello","world'")
, я забыл, как Windows cmd цитирует ''). Это печатает содержимое $ _ (то есть undef) в STDOUT.
Всегда используйте предупреждения. Даже на однострочниках. Возможно, особенно на однострочниках. Сравните:
$ perl -e print 'hello world'
$
и
$ perl -we print 'hello world'
Use of uninitialized value $_ in print at -e line 1.
$