readln Funktion
islandius
- perl
Hallo @all,
Ich habe vor IDs in ein array zu laden. Diese stehen wie folgt in der Datei:
aaa
bbb
ccc
ddd
usw.
Beim Einlesen mit:
$file = "ID.txt";
open(FILE,"<$file") || die "Log-Datei weg!";
@arr_IDS = <FILE>;
wird in das Array jeweils pro Einheit ein Wert reingesetzt (also aaa im ersten, bbb im zweiten usw.).
Mein Problem ist jetzt, dass es stets auch den Absatz (\n) miteinliest. Gibt's dafür ein guten Trick um das zu ignorieren. Oder nach dem einlesen für alle Werte im Array rauszulöschen?
Vielen lieben Dank
islandius
Hi,
Oder nach dem einlesen für alle Werte im Array rauszulöschen?
strip() sollte dir da helfen. Wenn ich mein PERL noch richtig im Kopf hab, werden dabei alle Leerzeichen und Zeilenumbrüche von einem String abgeschnitten.
Dazu musst du das Array natürlich einmal durchlaufen, was du bei der Weiterverarbeitung aber sowieso tun wirst, schätz ich mal ;)
OT: Ich merk grad, das mein PERL verdammt eingerostet ist, seit ich nur noch PHP und C/C++ programmiere. Muss wohl mal wieder auffrischen und die Grundlagen neu erarbeiten :)
Hi Manuel,
Das mit dem strip könnte funktionieren... allerdings ist mir eine wohl bessere Idee gekommen:
foreach Schleife
und dann jeweils über regüläre AUsdrücke das "\n" ausradieren. Nur dabei grüble ich gerade wie das genau geht.
So etwa?
@arr_IDS =~ s/\n\s+//;
Wofür steht dann das zuweite "s" und das "+"?
Danke
Hell-O!
Das mit dem strip könnte funktionieren.
Nein, Perl kennt keine Funktion mit diesem Namen.
allerdings ist mir eine wohl bessere Idee gekommen:
Au ja, mir auch!
Siechfred
Hi,
Au ja, mir auch!
Das wars. Ich meinte chomp und hab das wohl verwechselt. Wie gesagt, ich bin in Punkto PERL völlig eingerostet :(
Hi,
Wofür steht dann das zuweite "s" und das "+"?
Das s+ gehört zusammen und steht für Whitespaces.