Dlaczego PowerShell (z Perlem) usuwa podwójne cudzysłowy w prostej instrukcji drukowania?

Jestem długoletnim użytkownikiem Linuksa, ale jestem nowym użytkownikiem Windows i PowerShell. Po raz pierwszy zainstalowałem Windows7 i Strawberry Perl 5. Teraz chcę wykonać prosty wydruk z wiersza polecenia za pomocą programu Windows PowerShell.

Wygląda na to, że Perl został poprawnie zainstalowany:

PS C:\Users\Me> perl -v 
This is perl, v5.10.0 built for MSWin32-x86-multi-thread Copyright
1987-2007, Larry Wall 
...

I działa wiersz poleceń:

PS C:\Users\Me> perl -e 'die'
Died at -e line 1.

PS C:\Users\Me> echo 'print "Hello, World\n"' | perl
Hello, World

Ale kiedy spróbuję sam, wypisuje ostrzeżenie obsługi plików:

PS C:\Users\Me> perl -e 'print "Hello, World\n"'
No comma allowed after filehandle at -e line 1.

Wygląda więc na to, że usuwa podwójne cudzysłowy.

PS C:\Users\Me> perl -e 'print \"Hello, World\n\"'
Hello, World

To działa, ale jego Brzydkie! Spróbujmy jeszcze raz:

PS C:\Users\Me> perl -e 'print qq{Hello, World\n}'
Hello, World

To bardziej się podoba, ale jestem zdezorientowany.

Dlaczego PowerShell ucieka przed podwójnymi cudzysłowami w pojedynczych cudzysłowach? Czy są tam wszyscy użytkownicy PowerShell?

questionAnswers(3)

yourAnswerToTheQuestion