解析命令行参数而不忽略反斜杠

时间:2019-04-04 09:48:57

标签: perl arguments command-line-arguments backslash

我需要使用ARGV的第一个元素并将其另存为用于搜索文件的模板。该元素包含反斜杠/,但是当我将其保存在变量中时,反斜杠消失了:

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

打印出GGCC,而第一个参数是GG \ CC。我该如何解决?

1 个答案:

答案 0 :(得分:4)

这实际上不是一个perl问题,而是您的shell。

尝试输入:

echo \fish

然后您将看到输出:

fish

perl有相同的问题-甚至根本没有看到斜杠,因为shell正在处理转义行并首先引用。

唯一可以更改的是调用。在调用中添加一个额外的斜杠:

echo \\fish

您会得到:

\fish