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

问题描述 投票:1回答:1

我需要获取ARGV的第一个元素并将其保存为我的模板来搜索文件。此元素包含反斜杠/,但当我将其保存在变量中时,反斜杠消失:

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

打印出GGCC,而第一个参数是GG \ CC。我怎么能绕过这个?

perl arguments command-line-arguments backslash
1个回答
4
投票

这不是真正的perl问题,它是你的shell。

尝试输入:

echo \fish

你会看到输出:

fish

perl有同样的问题 - 它甚至没有首先看到斜线,因为shell正在处理逃生线并首先报价。

您唯一可以改变的是调用。为调用添加额外的斜杠:

echo \\fish

你会得到:

\fish
© www.soinside.com 2019 - 2024. All rights reserved.