gpt4 book ai didi

perl "or"遍历列表

转载 作者:行者123 更新时间:2023-12-01 15:00:18 25 4
gpt4 key购买 nike

我编写了一个小脚本,用于在三个不同的文件夹中查找具有特定 ID 号的文件。我第一次尝试这样做是这样的:

open my $fh, "<", "dir1/file.o$ARGV[0]"
or open my $fh, "<", "dir2/file.o$ARGV[0]"
or open my $fh, "<", "dir3/file.o$ARGV[0]"
or die "Couldn't open `file.o$ARGV[0]' for reading: $!";

这导致我用于测试的 dir2 中的文件的文件句柄为空,现在我已经编写了一个精心设计的 if(...) else if (...) 结构来执行我想要的操作。但我仍然不明白为什么我的第一种方法不起作用,所以我希望得到一些见解。

我的期望是它会尝试打开第一个文件,如果失败,请查看 or 之后的内容,尝试打开该文件,依此类推。我哪里错了?

奖金问题:有没有一种优雅的方式来做到这一点?

最佳答案

您正在复制 $fh 的声明。将其移出:

my $fh;

open $fh, '<', 'test1'
or open $fh, '<', 'test2'
or open $fh, '<', 'test3'
or die "Can't open whatever: $!";

关于perl "or"遍历列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28000708/

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