Thread String mit grep bearbeiten (8 answers)
Opened by cohama at 2014-06-05 10:49

Linuxer
 2014-06-05 11:39
#175925 #175925
User since
2006-01-27
3882 Artikel
HausmeisterIn

user image
Wenn Dir CPAN:CGI zu seltsam erscheint, kannst Du auch etwas mehr Handarbeit machen und CPAN:URI zum zerlegen verwenden.

Zum Beispiel:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#! /usr/bin/perl
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:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#! /usr/bin/perl
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!

View full thread String mit grep bearbeiten