Ответ 1
Вам не хватает достойной оболочки с разумными и четко определенными правилами цитирования. В Windows только двойная кавычка считается цитатой, а правила экранирования плохо определены и непоследовательны. Попробуйте:
perl -e "print qq{Hello World \n}"
Я настоятельно рекомендую избегать ничего, кроме самых простых однострочных в Windows. (Еще одна проблема с однострочными окнами Windows заключается в том, что оболочка Windows не расширяет подстановочные знаки. Если вы используете *.txt
в командной строке, он будет искать файл с буквальным именем *.txt
..)
В Windows то, что вы набрали, эквивалентно:
perl -e "'print" "Hello World \n'"
То есть, код Perl пытается выполнить 'print
с @ARGV
, содержащим единственную строку Hello World \n'
. (Это не новая строка, обратная косая черта, за которой следует n
).