Thread Zwei Array ein Hash mit CGI (18 answers)
Opened by bianca at 2010-06-28 17:44

bianca
 2010-06-28 17:44
#139117 #139117
User since
2009-09-13
6977 Artikel
BenutzerIn

user image
Guten Abend.
Bitte um Hilfe, habe einen Knoten im Kopf.
Ich bekomme zwei Array geliefert und möchte daraus mit CPAN:CGI ein sog. popup_menu erstellen. Dafür muss ich im Parameter -labels die Paare als Hash übergeben, die ich ja als zwei Array vorliegen habe.
Hab auch was versucht, was sicher doof ist und auch nicht funktioniert.

Wie lautet die richtige Syntax dafür?

Vielen Dank

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
25
26
27
28
29
30
31
32
33
34
35
36
#!/usr/bin/perl -w
use strict;
use warnings;
use diagnostics;
use CGI;
my $cgi=CGI->new;

my %data = (
        test1 => ['anzeige1','anzeige2'],
        test2 => ['val1','val2'],
);

build_formfield(\%data);

sub build_formfield {
        my %deref = %{$_[0]};
        if (1==2) { # nur zum Umschalten für Tests
                print STDOUT $cgi -> popup_menu (
                        -name           => 'fieldname',
                        -values         => $deref{'test2'},
                        # dies hier klappt (natürlich nicht):
                        -labels         => {$deref{'test2'} => $deref{'test1'}}
                );
        }
        else {
                print STDOUT $cgi -> popup_menu (
                        -name           => 'fieldname',
                        -values         => ['value1','value2'],
                        # und das soll rauskommen:
                        -labels         => {
                                'value1'        => 'anzeige1',
                                'value2'        => 'anzeige2',
                        },
                );
        }
}


Edit: Typo
Last edited: 2010-06-28 17:48:33 +0200 (CEST)
10 print "Hallo"
20 goto 10

View full thread Zwei Array ein Hash mit CGI