gpt4 book ai didi

perl - 如何最好地将参数传递给 Perl 语句?

转载 作者:行者123 更新时间:2023-12-03 02:56:06 25 4
gpt4 key购买 nike

我有一个文件,someFile,如下所示:

$cat someFile
hdisk1 active
hdisk2 active

我使用这个 shell 脚本来检查:

$cat a.sh
#!/usr/bin/ksh
for d in 1 2
do
grep -q "hdisk$d" someFile && echo "$d : ok"
done

我正在尝试将其转换为 Perl:

$cat b.sh
#!/usr/bin/ksh
export d
for d in 1 2
do
cat someFile | perl -lane 'BEGIN{$d=$ENV{'d'};} print "$d: OK" if /hdisk$d\s+/'
done

我在 shell 脚本中导出变量 d 并在 Perl 中使用 %ENV 获取值。有没有更好的方法将此值传递给 Perl 单行代码?

最佳答案

您可以使用“s”开关启用基本命令行参数。为每个以破折号开头的参数定义一个变量。 -- 告诉您的命令行参数从哪里开始。

for d in 1 2 ; do 
cat someFile | perl -slane ' print "$someParameter: OK" if /hdisk$someParameter\s+/' -- -someParameter=$d;
done

参见: perlrun

关于perl - 如何最好地将参数传递给 Perl 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3321829/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com