Por que o PowerShell (com Perl) está removendo aspas duplas em uma instrução print simples?
Eu sou um usuário de longa data do Linux, mas sou novo no Windows e no PowerShell. Acabei de instalar o Windows7 e o Strawberry Perl 5 pela primeira vez. Agora quero fazer uma impressão de linha de comando simples com o Windows PowerShell.
Parece que o Perl foi instalado corretamente:
PS C:\Users\Me> perl -v This is perl, v5.10.0 built for MSWin32-x86-multi-thread Copyright 1987-2007, Larry Wall ...
E as coisas da linha de comando funcionam:
PS C:\Users\Me> perl -e 'die' Died at -e line 1. PS C:\Users\Me> echo 'print "Hello, World\n"' | perl Hello, World
Mas quando eu tento por si só, ele imprime um aviso de filehandler:
PS C:\Users\Me> perl -e 'print "Hello, World\n"' No comma allowed after filehandle at -e line 1.
Então parece que está removendo as aspas duplas.
PS C:\Users\Me> perl -e 'print \"Hello, World\n\"' Hello, World
Isso funciona, mas é feio! Vamos tentar de novo:
PS C:\Users\Me> perl -e 'print qq{Hello, World\n}' Hello, World
Isso é mais parecido, mas estou confuso.
Por que o PowerShell está escapando das aspas duplas entre aspas simples? Quaisquer usuários do PowerShell por aí?