【发布时间】:2018-04-17 18:34:09
【问题描述】:
我正在尝试用 perl 读取文件。
我只想打印文件players.txt 的每一行的名称。
我正在使用此代码:
#!/usr/local/bin/perl
open (MYFILE, 'players.txt');
while () {
chomp;
print "$_\n";
}
close (MYFILE);
这会产生这个错误:
./program5.pl: line 2: syntax error near unexpected token `MYFILE,'
./program5.pl: line 2: ` open (MYFILE, 'players.txt');'
我正在使用 Unix 操作系统来执行此操作。我找不到适用于在 Perl 中读取文件的指南。
【问题讨论】:
-
您应该检查
open是否成功,并且while循环应该从文件中读取行。就像现在的循环一样,它只是永远迭代而不读取任何内容 -
使用
open my $file, '<', 'players.txt' or die "$!:players.txt"; -
你所展示的完全没有意义;程序的第二行很好(即使有更好的方法)并且不应该抛出语法错误。
while ()出问题了——()中一定有什么东西。从MYFILE文件句柄读取它是while (<MYFILE>)。然后程序应该工作。但是使用上面 Pursell 评论中的代码打开文件。 -
[can't] find a guide that works for reading in a file in Perl你发现了什么发现?您(打算)使用什么版本/实现的 Perl?你知道Rosetta Code吗? -
@Borodin 有趣,不知道它的意图。在我看来,允许这样的语法只是一个设计错误。一方面,我们不能说
if ()或for ()(不是我想要的)
标签: perl