有问题分裂换行符周围的刺痛

neb*_*lus 3 io perl newline

这是另一个奇怪的事情.我有这个代码和一个文件.

use strict;
use warnings;

my $file = "test.txt";
my @arr; 

open (LOGFILE, $file);
while (my $line = <LOGFILE>)     
{ 
    #print $line;
    @arr = split("\n", $line);
}   
close LOGFILE;

print $arr[1];
Run Code Online (Sandbox Code Playgroud)

test.txt包含

\ntest1 \ntest2 \ntest3

这是我得到的错误:

在test.pl第15行打印时使用未初始化的值.

过去有没有人遇到过类似的问题?

cam*_*cam 5

split采取正则表达式(我相信你的字符串被强制进入正则表达式).也许是这样的split(/\\n/, $line)

 use strict;
 use warnings;

 my $file = "test.txt";
 my @arr;

 open (LOGFILE, $file);
 while (my $line = <LOGFILE>)
 {
   print $line;
   @arr = split(/\\n/, $line);
 }
 close LOGFILE;

 print $arr[1];
Run Code Online (Sandbox Code Playgroud)