Perl - 读取文本文件时出错

Som*_*ude 1 perl

我试图在perl中读取一个文件.

我只想打印每行文件的名称players.txt.

我正在使用此代码:

#!/usr/local/bin/perl
open (MYFILE, 'players.txt');
while () {
    chomp;
    print "$_\n";
}
close (MYFILE);
Run Code Online (Sandbox Code Playgroud)

这会产生此错误:

./program5.pl: line 2: syntax error near unexpected token `MYFILE,'
./program5.pl: line 2: `    open (MYFILE, 'players.txt');'
Run Code Online (Sandbox Code Playgroud)

我正在使用Unix操作系统来执行此操作.我找不到适用于在Perl中读取文件的指南.

Bor*_*din 6

你得到的错误是bash错误,这意味着你要求bash处理Perl代码.那不行

猜测,你的shebang线#!/usr/local/bin/perl不会从第一行的开头开始.这两个字符#!必须是文件的前两个字节

或者,如果指定perl应运行程序,则可以删除shebang行:

perl program5.pl
Run Code Online (Sandbox Code Playgroud)

您还有一个错误while (),这是一个无限循环,无法从文件中读取.你需要

while ( <MYFILE> ) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

你已经找到了一个非常贫穷和老式的建议来学习Perl.我建议你看一下 Perl标签信息 ,其中列出了许多优秀的教程和资源