Я пишу программу сопоставления с образцом на perl ... но получаю сообщение об ошибке ... Я видел все предыдущие сообщения по этому поводу, но не нашел решения ... Так как я новичок в perl, поэтому я не получаю точно что это за ошибка ..
use of uninitialized value $line in string ne at line .. and in line ...
Я прикрепляю сюда файл perl
use strict;
use warnings;
my $line = "";
open(OUTFILE, ">output.txt") or die ("cannot open file.\n");
if(open(file1,"match.txt") or die "Cannot open file.\n"){
$line = <file1>;
while ($line ne "") {
if (defined($line) && (line =~ m/\sregion\s/i)) {
print OUTFILE ("$line")};
$line = <file1>; # Problem Here
if (defined($line) && ($line =~ /\svth\s/)) {
print OUTFILE ("$line")
};
$line = <file1>; # Problem Here
}
}
Мой файл match.txt содержит этот тип данных ..
Some text here
region Saturati Saturati Linear Saturati Saturati
id -2.1741m -2.1741m -4.3482m 2.1741m 2.1741m
vth -353.9140m -353.9141m -379.2704m 419.8747m 419.8745m
Some text here
Пожалуйста, решите проблему .... спасибо
if (...)
вокругopen(...) or die "..."
. - person Jim Davis   schedule 18.02.2014line
, и вам также следует использовать форму open с тремя аргументами. Также вы должны вместо этого использовать дескриптор файла для file1 - person hmatt1   schedule 18.02.2014