gpt4 book ai didi

perl - 文件打开错误 - 全局符号 "$infilename"需要明确的包名

转载 作者:行者123 更新时间:2023-12-01 07:25:41 33 4
gpt4 key购买 nike

我正在编写我的第一个 perl 脚本,但无法编译它。我想读入一个文件并将与正则表达式条件匹配的每一行输出到一个新文件。我收到一个“全局符号需要显式包名”错误,这似乎与我读过的变量范围的问题有关。我不知道我的代码有什么问题。

代码:

#!/usr/bin/perl -w
use strict;
use warnings;

print "Stripping lines from data dump where WREN column is FFF\n"

my $infilename = "./test_in.txt";
my $outfilename = "./test_out.txt";
my $in = undef;

open($in, "<", $infilename) or die "Can't open $infilename: $!";
open(my $out, ">", $outfilename) or die "Can't open $outfilename: $!";

while (<$in>) { # assigns each line in turn to $_
if (/.{73}FFF/){
print $out $_;
}
}

错误信息:
syntax error at strip_nonwrites.pl line 8, near "my "
Global symbol "$infilename" requires explicit package name at strip_nonwrites.pl line 8.
Global symbol "$infilename" requires explicit package name at strip_nonwrites.pl line 12.
Global symbol "$infilename" requires explicit package name at strip_nonwrites.pl line 12.
Execution of strip_nonwrites.pl aborted due to compilation errors.

最佳答案

一个语法错误会导致解析器在事后引发多个错误错误的情况并不少见。这是一个这样的案例。

您的第一个错误是要注意的错误。您在第 6 行的末尾缺少分号( near "my "line 8 )。

所有随后出现的“全局符号...”错误只是试图将第 6..8 行解析为单个命令而造成的困惑。

关于perl - 文件打开错误 - 全局符号 "$infilename"需要明确的包名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30054036/

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