#perl #arguments #command-line-arguments #backslash
#perl #аргументы #аргументы командной строки #обратная косая черта
Вопрос:
Мне нужно взять первый элемент ARGV и сохранить его в качестве моего шаблона для поиска по файлам. Этот элемент содержит обратную косую черту /
но когда я сохраняю его в переменной, обратная косая черта исчезает:
my $template = $ARGV[0];
print $template;
выводит GGCC, в то время как первым аргументом является GGCC. Как я могу обойти это?
Ответ №1:
На самом деле это не perl
проблема, это ваша оболочка.
Попробуйте ввести:
echo fish
И вы увидите результат:
fish
perl
имеет ту же проблему — он даже не видит эту косую черту в первую очередь, потому что оболочка сначала обрабатывает строку для экранирования и кавычек.
Единственное, что вы можете изменить, это вызов. Добавьте дополнительную косую черту к вызову:
echo \fish
И вы получите:
fish
Комментарии:
1. или процитируйте это.
echo 'fish'