Почему PowerShell (с Perl) удаляет двойные кавычки в простом операторе печати?
Я давний пользователь Linux, но я новичок в Windows и PowerShell. Я только что установил Windows7 и Strawberry Perl 5 в первый раз. Теперь я хочу сделать простую печать из командной строки с помощью Windows PowerShell.
Похоже, Perl установлен правильно:
PS C:\Users\Me> perl -v This is perl, v5.10.0 built for MSWin32-x86-multi-thread Copyright 1987-2007, Larry Wall ...
И работает из командной строки:
PS C:\Users\Me> perl -e 'die' Died at -e line 1. PS C:\Users\Me> echo 'print "Hello, World\n"' | perl Hello, World
Но когда я пробую все это самостоятельно, он выводит предупреждение обработчика файла:
PS C:\Users\Me> perl -e 'print "Hello, World\n"' No comma allowed after filehandle at -e line 1.
Так что это похоже на удаление двойных кавычек.
PS C:\Users\Me> perl -e 'print \"Hello, World\n\"' Hello, World
Это работает, но это уродливо! Давай еще раз попробуем:
PS C:\Users\Me> perl -e 'print qq{Hello, World\n}' Hello, World
Это больше нравится, но я в замешательстве.
Почему PowerShell избегает двойных кавычек в одинарных кавычках? Есть ли пользователи PowerShell?