[Cologne-pm] Regexps nehmen fuer file parsing?
A. Pagaltzis
pagaltzis at gmx.de
Wed Apr 2 17:13:31 CST 2003
* johannes huettemeister <j.huettemeister at t-online.de> [2003-04-02 23:40]:
> ich hab ne menge files mit ner menge zeilen wie:
> <id=00001/ab=1/cd=xy/de=20021231(GM)/ef=20030331(GM)/fg=0/gh=/var/log(log)/.
> ..>
> Da ich immer mehrere Kriterien ueberpruefe, bevor ich den Eintrag verarbeite
> (counte), mach ich sowas wie
> if (($_ =~ m/ab=1/) && ($_ =~ m/de=20021231/)) {
> $hits{sylvester}++;
> }
> aber das geht doch irgendwie besser, oder?
Du müsstest dein Datenformat genauer definieren.
Wenn dein Beispiel keine Sonderfälle verbirgt würde ich
folgendes machen:
while(<>) {
next unless /<(.*)>/;
my $record = map split(/=/, $_, 2), split m!/!, $1;
$hits{sylvester}++
if $record{ab} == 1 and $record{de} eq '20021231';
}
--
Gruss,
Aristoteles
More information about the Cologne-pm
mailing list