Jestem długoletnim użytkownikiem Linuksa, ale jestem nowy w Windows i PowerShell. Właśnie zainstalowałem Windows7 i Strawberry Perl 5 po raz pierwszy. Teraz chcę wykonać prosty wydruk z wiersza polecenia za pomocą Windows PowerShell.Dlaczego PowerShell (z Perlem) usuwa podwójne cudzysłowy w prostej instrukcji drukowania?
Wygląda Perl zainstalowane poprawnie:
PS C:\Users\Me> perl -v This is perl, v5.10.0 built for MSWin32-x86-multi-thread Copyright 1987-2007, Larry Wall ...
i linia poleceń rzeczy działa:
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 gdy próbuję to wszystko sam wypisuje filehandler ostrzeżenie:
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 jest brzydkie! Spróbuj ponownie:
PS C:\Users\Me> perl -e 'print qq{Hello, World\n}' Hello, World
To bardziej podoba, ale jestem zdezorientowany.
Dlaczego program PowerShell wymyka się podwójnym cudzysłowom w ramach pojedynczego cudzysłowu? Dowolni użytkownicy PowerShell?
Czy wypróbowałeś 'perl -e" print 'Hello, World' "'? – Weegee