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