Возникли проблемы с разделением жала вокруг символа новой строки - PullRequest
3 голосов
/ 07 января 2011

Вот еще одна из этих странных вещей. У меня есть этот код и файл.

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];

test.txt содержит

\ ntest1 \ ntest2 \ ntest3

Вот ошибка, которую я получаю:

Использование неинициализированного значения в печати при test.pl строка 15.

Кто-нибудь сталкивался с подобной проблемой в прошлом?

Ответы [ 2 ]

5 голосов
/ 07 января 2011

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];
3 голосов
/ 07 января 2011

Вы можете использовать:

@arr = split /\Q\n/, $line;
...