/ / PERL Unicode Escape reťazec prechádza z argumentu príkazového riadku nesprávny výstup - perl, unicode, escaping

Perl Unicode Escape reťazec prechádza z nesprávneho výstupu príkazového riadku - perl, unicode, escaping

Tu je môj perlový kód:

use Unicode::Escape;

my $string = shift;
print Unicode::Escape::escape($string) . "n";

Keď vykonám tento skript z terminálu, unicode nie je únikom

perl unicode_escape.pl "https://docs.google.com/uc?idu003d0ByPZe438mUkZVkNfTHZLejFLcncu0026exportu003ddownloadu0026revidu003d0ByPZe438mUkZbUIxRkYvM2dwbVduRUxSVXNERm0zZFFiU2c0PQ "

Výkon:

https://docs.google.com/uc?idu003d0ByPZe438mUkZVkNfTHZLejFLcncu0026exportu003ddownloadu0026revidu003d0ByPZe438mUkZbUIxRkYvM2dwbVduRUxSVXNERm0zZFFiU2c0PQ

Ale keď je reťazec v kóde

use Unicode::Escape;

my $string = "https://docs.google.com/uc?idu003d0ByPZe438mUkZVkNfTHZLejFLcncu0026exportu003ddownloadu0026revidu003d0ByPZe438mUkZbUIxRkYvM2dwbVduRUxSVXNERm0zZFFiU2c0PQ";

print Unicode::Escape::escape($string) . "n";

keď spustím skript

perl unicode_escape.pl

Vytvára správny výstup

Výkon

https://docs.google.com/uc?id003d0ByPZe438mUkZVkNfTHZLejFLcnc0026export003ddownload0026revid003d0ByPZe438mUkZbUIxRkYvM2dwbVduRUxSVXNERm0zZFFiU2c0PQ

Nechápem, ako sa perl rozhodne urobiť toto? Prosím pomôžte

UPDATE:

Ahoj, ikegami Snažil som sa to, ale stále tu nefunguje je môj kód:

use Unicode::Escape;

my $string = shift;

$string =~ s/\/\\/g;

print Unicode::Escape::escape($string) . "n";

Snažím sa produkovať výstup rovnaký ako druhý útržok kódu.

Chcem urobiť, keď spustím tento príkaz rovnako ako v prvom útržku kódu.

perl unicode_escape.pl "https://docs.google.com/uc?idu003d0ByPZe438mUkZVkNfTHZLejFLcncu0026exportu003ddownloadu0026revidu003d0ByPZe438mUkZbUIxRkYvM2dwbVduRUxSVXNERm0zZFFiU2c0PQ"

Výsledok by mal byť rovnaký ako druhý útržok kódu

Výkon

https://docs.google.com/uc?id003d0ByPZe438mUkZVkNfTHZLejFLcnc0026export003ddownload0026revid003d0ByPZe438mUkZbUIxRkYvM2dwbVduRUxSVXNERm0zZFFiU2c0PQ

odpovede:

0 pre odpoveď č. 1

V prvom útržku priradíte nasledovné $string:

https://docs.google.com/...downloadu0026revid...

V druhom útržku priraďujete nasledovnému $string:

https://docs.google.com/...download0026revid...

V perlovom dvojitom reťazci literálnom reťazci, u spôsobí, že ďalšia postava bude vyššia. Musíte uniknúť .

my $string = "https://docs.google.com/...download\u0026revid...";