Wenn Dir
CGI zu seltsam erscheint, kannst Du auch etwas mehr Handarbeit machen und
URI zum zerlegen verwenden.
Zum Beispiel:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
use strict;
use warnings;
use URI;
my $query = 'foo=123&bar=456';
my $uri = URI->new();
$uri->query($query);
my %data = $uri->query_form;
for my $k ( keys %data ) {
printf "%s : %s\n", $k, $data{$k};
}
__END__
Wenn das wiederholt benötigt wird, könnte man die gewünschte Abfrage auch in eine Sub auslagern:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
use strict;
use warnings;
use feature qw( say );
my $query = 'foo=123&bar=456';
sub fetch_from_query {
my $query = shift;
my @items = @_;
require URI;
my $uri = URI->new();
$uri->query($query);
my %data = $uri->query_form();
return @data{@items};
}
say fetch_from_query( $query, 'foo' );
__END__
edit: 2ter Code korrigiert nach Raubtiers Hinweis
Last edited: 2014-06-05 12:52:43 +0200 (CEST)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!