作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我写了一个 Perl 程序“transfer.pl”,输入参数是哈希值(键和值是字符串)。代码段是:
my %transfers = ();
if (!GetOptions("transfer=s" => \%transfers))
{
Usage();
exit(1);
}
perl tranfer.pl --transfer "table = %s"="[TableName=%s]"
table = %s
并且值为
[TableName=%s]
,但似乎 Getopt::Long 总是找到第一个
=
所以关键是
table
并且值为
%s=[TableName=%s]
.
perl tranfer.pl --transfer "table \= %s"="[TableName\=%s]"
table \
,值为
%s=[TableName\=%s]
.
最佳答案
Getopt::Long
不允许这样做;第一 =
始终用于将键与值分开。您将需要使用 user-defined subroutine处理选项,或拆分 key=value
对后 GetOptions
完成或使用一些任意的转义机制,例如使用“%25
”来表示 =
在一个关键。
关于perl - 如何让 Perl 的 Getopt::Long 不处理参数名称中的文字 =?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1275727/
我是一名优秀的程序员,十分优秀!