Moin,
Was Du machen kannst: Nimm einen ganz normalen Parser für den QUERY_STRING, der steckt z.B. in
use URI::Escape;
Quatsch, ne, genau umgekehrt. Ein Parser verwendet Escape. Deine Freunde sind:
use URI::Split qw(uri_split);
($scheme, $auth, $path, $query, $frag) = uri_split($referrer);
für den Fall, Du willst $query selbst in die Parameter zerlegen. Oder Du nimmst gleich:
use URI::QueryParam; # Objekt über den Referrer erstellen
damit kommst Du ohne Umschweife an die gewünschten Parameter.
my $uri = 'http://www.google.de/custom?q=Corel Draw kann keine templates %F6fnnen&sa=Suchen&client=pub-4347119884249993&forid=1&channel=8272761113&ie=ISO-8859-1&oe=ISO-8859-1&cof=GALT%3A%23008000%3BGL%3A1%3BDIV%3A%23336699%3BVLC%3A663399%3BAH%3Acenter%3BBGC%3AFFFFFF%3BLBGC%3A336699%3BALC%3A0000FF%3BLC%3A0000FF%3BT%3A000000%3BGFNT%3A0000FF%3BGIMP%3A0000FF%3BFORID%3A1%3B&hl=de&meta='; # der Referrer
use URI;
use URI::QueryParam;
my $u = URI->new($uri);
my @keys = $u->query_param;
print join("\n", @keys);
q
sa
client
forid
channel
ie
oe
cof
hl
meta
So wirds gemacht, schönen Sonntag ;-)
Oppenheimer