【发布时间】:2012-09-09 05:40:46
【问题描述】:
我在分配参数值/命令行参数时遇到了麻烦。这是我真正想做的。
Test.pl
#!/usr/bin/perl
#Variable declaration
$RUN_DIR="/home/ckhau/database/experiment/test";
#Main program
$index=-999;
#my $ARGV;
@files = <$RUN_DIR/b*.txt>;
foreach $file (@files)
{
#$SCRIPT="perl abcdinfo.pl $file";
$SCRIPT="perl abc.pl $file";
system("$SCRIPT");
}
我尝试用 @ARGV 替换 b*.txt 并尝试运行程序,即当我用
替换上面的代码时@files = <$RUN_DIR/@ARGV>;
然后尝试用命令行运行
perl Test.pl b*.txt
这给了我一个错误 perl: no match。任何人都可以在以下方面帮助我。
如何为此使用命令行参数???
我可以在命令行“b*.txt”或“r_*.txt”中使用这些语法吗???
【问题讨论】:
-
这可能与 shell 不能很好地处理命令行参数中的 * 有关。
-
你在哪个 shell 中运行这个脚本? Windows 命令提示符? Linux bash 外壳?
-
@Jonah Bishop:我正在使用 linux
-
请出示实际有问题的代码。
-
@ikegami 我已经编辑了帖子。
标签: perl command-line-arguments