Schrift
[thread]9017[/thread]

Nicht initialiserter Array - Warnung ?



<< >> 2 Einträge, 1 Seite
mr-sansibar
 2007-05-18 16:52
#76769 #76769
User since
2006-04-13
90 Artikel
BenutzerIn
[default_avatar]
Hallo !
Bei dieser folgenden If-Anweisung bekomme ich eine Warnung:
Use of uninitialized value in string ne at H:\masterarbeit\log_files\logfile_parser.pl line 70, <GEN3> line 13359.
diese meldung kommt weil das array leer ist und ich eine überprüfung $array[2] ne '' durchführe. wei kann ich die unten stehe if-anweisugn noch lösen ohne das ich eine warning bekomme !!!
vielen dank

Code: (dl )
1
2
3
4
5
6
7
8
9
10
if((/Message:/ || $MessageFound) && ($array[2] ne '' || @array != '' ))
{
$MessageFound=1;
if($_ =~ /^\n/)
{
print $fh2 "$counter;$line1";
$line1 = '';
}
else { $line1 .= $_};
}
\n\n

<!--EDIT|mr-sansibar|1179492867-->
PerlProfi
 2007-05-18 17:20
#76770 #76770
User since
2006-11-29
340 Artikel
BenutzerIn
[default_avatar]
Nimm einfach noch eine defined() Prüfung dazu:
Code: (dl )
if((/Message:/ || $MessageFound) && ((defined($array[2]) && length($array[2])) || @array > 0 ))

Ich habe jetzt noch @array != '' geändert, hat das eine besondere Bedeutung gehabt ?
Bei != sollte doch eigentlich eine Zahl auf beiden Seiten stehen, oder nicht ?
Macht es überhaupt Sinn das 2. Element des Arrays zu prüfen, wenn du mit || auch prüfst ob das Array mindestens 1 Element hat ?

MfG
<< >> 2 Einträge, 1 Seite



View all threads created 2007-05-18 16:52.