advanced pattern matching
norman
- perl
0 Norbert Kölln0 norman
0 rolfrost
juten morgen!
es soll ein beliebiger logdateieintrag feldweise auseinandergenommen werden. hab arge probleme dafür nen globalen regulären ausdruck zu finden. vielleicht hat von euch einer nen tipp. hier das prog:
my $trenner = " ";
my $string = '61.5.36.153 [03/Sep/2003:01:10:45 +0200]
"GET /index.php HTTP/1.1" 200 2578';
$string =~ /(.*)$trenner([.*]|".*")$trenner([.*]|".*")$trenner(.*)$trenner(.*)/;
print $1 . "\n"; print $2 . "\n"; print $3 . "\n"; print $4 . "\n"; print $5 . "\n";
liefert das:
61.5.36.153
[03/Sep/2003:01:10:45 +0200]
"GET /index.php HTTP/1.1"
200
2578
leider funktioniert der reguläre ausdruck nicht mehr, wenn sich der $string z.b. so ändert:
my $string = '"61.5.36.153" [03/Sep/2003:01:10:45 +0200]
"GET /index.php HTTP/1.1" 200 2578';
gibt es eine möglichkeit den regulären ausdruck so zu standardisieren, das er bei jedem $string matcht und nur der $trenner angegeben werden muss?
schönen dank schonmal
norman
Moin, moin!
Ich habe es gerade getestet. Und auch mit dem String, der vor und nach der IP-Adresse um Anführungszeichen ergänzt wurde, klappt es. Wo liegt das Problem?
Norbert
Moin, moin!
Ich habe es gerade getestet. Und auch mit dem String, der vor und nach der IP-Adresse um Anführungszeichen ergänzt wurde, klappt es. Wo liegt das Problem?
Norbert
sorry, war ein blödes beispiel von mir.
der reg. ausdruck soll auf alle möglichen logformate matchen (die felder im log können vertauscht werden usw.), ohne das ich das format genau kenne.
my $string = '"GET /index.php HTTP/1.1" "61.5.36.153" [03/Sep/2003:01:10:45 +0200] 200 2578';
mfg
norman
Moin,
lies dich da mal rein:
http://theoryx5.uwinnipeg.ca/CPAN/data/Apache-ParseLog/ParseLog.html det hört sich jut an ;-)
Viele Grüße, Rolf
PS: ich bin kein Berlina
fette beute! sieht gut aus für den apache. ich brauche aber ooch ein script wat auf den iis und benutzerdefinierte logs passt.
norman
http://theoryx5.uwinnipeg.ca/CPAN/data/Apache-ParseLog/ParseLog.html det hört sich jut an ;-)
fette beute! sieht gut aus für den apache. ich brauche aber ooch ein script wat auf den iis und benutzerdefinierte logs passt.
hi again,
evntl Win32 Module?
http://ppm.activestate.com/PPMPackages/zips/
CPAN allgemein:
http://theoryx5.uwinnipeg.ca/CPAN/cpan-search.html
kiek mal ;-)
Gruss aus Karlsruhe, Rolf
norman
http://theoryx5.uwinnipeg.ca/CPAN/data/Apache-ParseLog/ParseLog.html det hört sich jut an ;-)