Thread Innerhalb Hash Def auf Keys zugreifen (42 answers)
Opened by bianca at 2013-09-08 06:08

bianca
 2013-09-09 11:19
#170025 #170025
User since
2009-09-13
7016 Artikel
BenutzerIn

user image
Manchmal ist die Lösung einfacher als man denkt.
Ich übergebe dem Code einfach den Key ident, damit es weiß, was es ist.

So:
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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
#!/usr/bin/perl
use strict;
use warnings;
use diagnostics;
my %test;
%test = (
    variablen => [
        {
            name    => 'Var1',
            gueltig => 'pa',    # Gueltigkeit dieser Formularvariable
            code    => sub {
                'foo1'; # natürlich wird hier viel viel mehr gemacht
            },
        },
        {
            name    => 'Var2',
            gueltig => 'pu',
            code    => sub {
                'foo2';
            },
        },
        {
            name    => 'Var3',
            gueltig => 'pa,pu',
            code    => sub {
                'foo3';
            },
        },
    ],
    formate => [
        {
            name    => 'plain ANSI',
            ident   => 'pa',    # konstantes Kürzel zur Identifizierung in der DB
            code    => sub {
                my ($ident) = @_;
                foreach my $ref (grep {grep {$_ eq $ident} split /\,/,$_->{gueltig}} @{$test{variablen}}) {
                    print "$ident fuert $ref->{name} aus: ".$ref->{code}()."\n";
                }
            },
        },
        {
            name    => 'plain UTF',
            ident   => 'pu',
            code    => sub {
                my ($ident) = @_;
                foreach my $ref (grep {grep {$_ eq $ident} split /\,/,$_->{gueltig}} @{$test{variablen}}) {
                    print "$ident fuert $ref->{name} aus: ".$ref->{code}()."\n";
                }
            },
        },
    ],
);
foreach my $ref (@{$test{formate}}) {
    print $ref->{code}($ref->{ident})."\n";
}


Danke allen Mitdenkenden!
10 print "Hallo"
20 goto 10

View full thread Innerhalb Hash Def auf Keys zugreifen