gpt4 book ai didi

Perl 错误地提示 Name "main::FILE"只使用了一次

转载 作者:行者123 更新时间:2023-12-01 08:27:44 24 4
gpt4 key购买 nike

我将我的程序简化为以下简单的片段,但我仍然收到消息

Name "main::FILE" used only once: possible typo...

#!/usr/bin/perl -w
use strict;
use autodie qw(open close);

foreach my $f (@ARGV) {
local $/;
open FILE, "<", $f;
local $_ = <FILE>; # <--- HERE
close FILE;
print $_;
}

这显然不是真的,因为它被使用了 3 次。无论出于何种原因,只有标记的出现才算数。

我知道打开文件的更好方法(使用 $filehandle),但它不会为短脚本付费,是吗?那么我怎样才能摆脱错误的警告呢?

最佳答案

根据documentation对于autodie:

BUGS

"Used only once" warnings can be generated when autodie or Fatal is used with package filehandles (eg, FILE ). Scalar filehandles are strongly recommended instead.

我在 Perl 5.10.1 上收到警告,但在 5.16.3 上没有收到警告,因此可能还会发生其他事情。

关于Perl 错误地提示 Name "main::FILE"只使用了一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29905969/

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