Разбор аргументов командной строки без игнорирования обратной косой черты - PullRequest
1 голос
/ 04 апреля 2019

Мне нужно взять первый элемент ARGV и сохранить его как шаблон для поиска по файлам. Этот элемент содержит обратную косую черту /, но когда я сохраняю ее в переменной, обратная косая черта исчезает:

my $template = $ARGV[0];
print $template;

выводит GGCC, а первый аргумент - GG \ CC. Как я могу обойти это?

1 Ответ

4 голосов
/ 04 апреля 2019

Это на самом деле не проблема perl, это ваша оболочка.

Попробуйте набрать:

echo \fish

И вы увидите вывод:

fish

perl имеет ту же проблему - он даже не видит эту косую черту в первую очередь, потому что оболочка обрабатывает строку для экранированных символов и сначала цитирует.

Единственное, что вы можете изменить, это вызов. Добавьте дополнительную косую черту к вызову:

echo \\fish

И вы получите:

\fish
...