PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : perl spilit Problem



Badsteve
02-05-2003, 09:57
hi,

ich habe ein Problem mit Perl und split, das Programm will anscheinend nicht da splitten, wo ich will.

#!/usr/bin/perl -w
my (@lines);
open (FH, 'calls') or die $!;
@lines = reverse <FH>;
$count=0;
close(FH);
foreach (@lines) {
@text = split("|", $_);
foreach(@text){
print $_;
$count=$count+1;
if( $count > 3 ){
$count=0;
print "\n";
last;
}

}

}



das ist mein Programm bis jetzt. Es soll die ersten 3 Abschnitte aus calls ausgeben, die durch |'s getrennt sind. Ein Beispiel für die Datei werde ich anhängen.


danke, Steve

fork
02-05-2003, 12:22
@text = split("|", $_);Das Pipe-Zeichen ist kein besonders glücklicher Feldtrenner, es ist ein spezielles Sonderzeichen, und muss quotiert werden:
@text = split('\|', $_);Ansonsten möchtest Du ja nur die ersten 3 Felder ausgegeben haben, musst also >3 durch ==3 ersetzen.

Gruß
Tobias

Badsteve
02-05-2003, 16:40
danke das war der Fehler, dadrauf wäre ich nie gekommen. :D


Steve