Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]5844[/thread]

Arrays nach Hash: keine Peilung (Seite 5)



<< |< 1 2 3 4 5 >| >> 48 Einträge, 5 Seiten
-Sven-
 2003-10-22 16:43
#66466 #66466
User since
2003-10-15
25 Artikel
BenutzerIn
[default_avatar]
Nee bin nicht bei den Perl Mongers. Aber nach Bielefeld schaff ichs auch nicht dieses Jahr mehr.

Aber ist echt Klasse. Hab zwei Wochen an den Prob gebastelt und überlegt. Hatte 50 Zeilen Code dafür. Am Ende wusste ich schon nicht mehr was ich da überhaupt mache. Naja. Find ich echt cool. Deine Zeilen ein bisschen gemoddet und das Prog hat wieder ne geile Performance.
Crian
 2003-10-22 16:47
#66467 #66467
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
:)

Naja, man muss erstmal mit der Zeit ein Gefühl für die Perlschen Datenstrukturen bekommen, dann wird es leichter. Und diese Datenstruktur ist ja schon ziemlich komplex.
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
-Sven-
 2003-10-22 16:49
#66468 #66468
User since
2003-10-15
25 Artikel
BenutzerIn
[default_avatar]
Alles klar. Also ich wünsch euch was. Wenn ich mal helfen kann, helfe ich auch gerne weiter (auch anderen Leuten), muss jetzt weiter.

Gruß -Sven-
-Sven-
 2003-10-22 17:53
#66469 #66469
User since
2003-10-15
25 Artikel
BenutzerIn
[default_avatar]
Ich nochmal. Wie müsste ich weiter gehen wenn ich ein viertes Array hätte.
Crian
 2003-10-22 18:13
#66470 #66470
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Was wäre denn in dem vierten Array?
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
-Sven-
 2003-10-22 18:18
#66471 #66471
User since
2003-10-15
25 Artikel
BenutzerIn
[default_avatar]
Das vierte Array enthält Parametert ob gepackt ist oder nicht

@packen(ja,nein,ja,nein,ja)

das müsste eine ebene tiefer als datei

'datei' => [
'login' => 'ja'
]
Crian
 2003-10-22 18:53
#66472 #66472
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
Code:

Code: (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
use strict;

my @Server = qw(google google google web  gmx );
my @Pfad   = qw(start  start  test   mail sms );
my @Datei  = qw(index  start  login  test send);
my @Packen = qw(ja     nein   ja     nein ja  );

my $l      = scalar @Server;

die "unterschiedlich große Arrays" if $l != scalar @Server or
                                      $l != scalar @Pfad   or
                                      $l != scalar @Datei  or
                                      $l != scalar @Packen  ;


my %Hash = ( server => {} );

for my $index (0..$l-1) {
    # äußeren Hash-Schlüssel anlegen, Wert ist leeres anonymes Hash:
    $Hash{server}->{$Server[$index]} = {};
   # Pfad als Schlüssel eintragen und leeres anonymes Array als Wert:
    $Hash{server}->{$Server[$index]}->{folder} =
        { $Pfad[$index] => { datei => { } } };
}

# inneres Array füllen:
for my $index (0..$l-1) {
    $Hash{server}->
        {$Server[$index]}->
            {folder}->
                {$Pfad[$index]}->
                    {datei}->
                        {$Datei[$index]} = { logik => $Packen[$index] };
}

use Data::Dumper;

print Dumper \%Hash;


mit der Ausgabe

Code: (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
$VAR1 = {
         'server' => {
                       'web' => {
                                  'folder' => {
                                                'mail' => {
                                                            'datei' => {
                                                                         'test' => {
                                                                                     'logik' => 'nein'
                                                                                   }
                                                                       }
                                                          }
                                              }
                                },
                       'google' => {
                                     'folder' => {
                                                   'test' => {
                                                               'datei' => {
                                                                            'login' => {
                                                                                         'logik' => 'ja'
                                                                                       }
                                                                          }
                                                             },
                                                   'start' => {
                                                                'datei' => {
                                                                             'index' => {
                                                                                          'logik' => 'ja'
                                                                                        },
                                                                             'start' => {
                                                                                          'logik' => 'nein'
                                                                                        }
                                                                           }
                                                              }
                                                 }
                                   },
                       'gmx' => {
                                  'folder' => {
                                                'sms' => {
                                                           'datei' => {
                                                                        'send' => {
                                                                                    'logik' => 'ja'
                                                                                  }
                                                                      }
                                                         }
                                              }
                                }
                     }
       };


falls Du darauf noch was erkennen kannst.

Edit: Wahrscheinlich siehst Du mehr wenn Du den Code bei Dir laufen lässt.\n\n

<!--EDIT|Crian|1066834488-->
s--Pevna-;s.([a-z]).chr((ord($1)-84)%26+97).gee; s^([A-Z])^chr((ord($1)-52)%26+65)^gee;print;

use strict; use warnings; Link zu meiner Perlseite
-Sven-
 2003-10-22 19:05
#66473 #66473
User since
2003-10-15
25 Artikel
BenutzerIn
[default_avatar]
Danke.

ich hatte probiert und hatte grad immer ne Fehlermeldung wegen dem Array.

Na dann bis demnächst.
<< |< 1 2 3 4 5 >| >> 48 Einträge, 5 Seiten



View all threads created 2003-10-22 11:20.