Schrift
[thread]5622[/thread]

Hashes

Leser: 2


<< |< 1 2 3 >| >> 28 Einträge, 3 Seiten
BrownWolf
 2003-08-15 22:03
#53412 #53412
User since
2003-08-15
308 Artikel
BenutzerIn
[default_avatar]
Hallo,

es muss wohl an der Hitze liegen , aber ich komm wirklich nicht weiter.

Also ich durchsuche einen Log mit einem Regexp und speichere die Werte dann in einem Hash of Hash ?

Code: (dl )
1
2
$stats{"$name"}{"$wonid"}{"$weapon"}++;     
$stats{"$name"}{"$wonid"}{"connects"}++;


Und so weiter !
Nun möchte ich später alles wieder auslesen.
Als Ausgabe möchte ich so etwas erhalten:

Code: (dl )
1
2
BrownWolf => ID => M4a1
BrownWolf => ID => 5


Wie mache ich das ?
Code (perl): ()
1
2
3
sub _{s;;xrqIpiql\\{}p{pl{R>rl{N{}gjwpkssq]>rl{N;;;*{{}=*{_};;
&#36{{}={q{{{}}}=>[reverse+split+reverse+q;}{;]};&#36{{}->{q{{{}}}}->[@{{}];}
&#36{{}=reverse+_(q{{}}=>q{{}})^chr(30)x+length&_(q{{}}=>,q{{}})and+print;
jan
 2003-08-15 22:17
#53413 #53413
User since
2003-08-04
2536 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
foreach my &#36key (keys %stats)
{
    foreach my &#36subkey (keys %{&#36stats{&#36key}})
    {
        foreach my &#36sub2key (keys %{&#36stats{&#36key}{&#36subkey}})
        {
            print "&#36key => &#36subkey => &#36sub2key: " . &#36stats{&#36key}{&#36subkey}{&#36sub2key} . "\n";
        }
    }
}
format_c
 2003-08-15 22:28
#53414 #53414
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Also irgendwie machst du es dir ganz schön kompliziert. Aber hier trotzdem die Lösung die mir grad so einfällt:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/usr/bin/perl

my %hash;
my &#36name="format_c";
my &#36wonid = 29473462;
my &#36weapon= "M1A1";

for (0..3) {
    &#36hash{"&#36name"}{"&#36wonid"}{"&#36weapon"}++;
}

for my &#36name (keys %hash) {
    for my &#36wonid (keys %{&#36hash{&#36name}}) {
     for (keys %{&#36hash{&#36name}{&#36wonid}}) {
        print "&#36name => &#36wonid => &#36_\n";
       print "&#36name => &#36wonid => connects &#36hash{&#36name}{&#36wonid}{&#36_}\n";
     }
    }

}


Ich würde dir aber eher eine Datenstruktur wie diese empfehlen, da lebt es sich leichter.
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
my %hash = (
    format_c => {
       wonid => 826382,
       weapon => 'M1A1',
       connects => 3
       },
    Browswolf => {
       wonid => 826351,
       weapon => 'AK47',
       connects => 5
       }
)


Gruß Alex\n\n

<!--EDIT|format_c|1060972295-->
BrownWolf
 2003-08-15 22:37
#53415 #53415
User since
2003-08-15
308 Artikel
BenutzerIn
[default_avatar]
Danke, klappt wunderbar.
Code (perl): ()
1
2
3
sub _{s;;xrqIpiql\\{}p{pl{R>rl{N{}gjwpkssq]>rl{N;;;*{{}=*{_};;
&#36{{}={q{{{}}}=>[reverse+split+reverse+q;}{;]};&#36{{}->{q{{{}}}}->[@{{}];}
&#36{{}=reverse+_(q{{}}=>q{{}})^chr(30)x+length&_(q{{}}=>,q{{}})and+print;
Crian
 2003-08-16 00:01
#53416 #53416
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
[quote=BrownWolf,15.08.2003, 20:03]es muss wohl an der Hitze liegen , aber ich komm wirklich nicht weiter.[/quote]
Welche Hitze? die Hitzewelle ist doch vorbei :)
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
[E|B]
 2003-08-16 00:03
#53417 #53417
User since
2003-08-08
2561 Artikel
HausmeisterIn
[Homepage] [default_avatar]
In nächster Zeit trete ich jedem der Michaela heißt in den Hintern! *lol*
Gruß, Erik!

s))91\&\/\^z->sub{}\(\@new\)=>69\&\/\^z->sub{}\(\@new\)=>124\&\/\^z->sub{}\(\@new\)=>);
$_.=qq~66\&\/\^z->sub{}\(\@new\)=>93~;for(@_=split(/\&\/\^z->sub{}\(\@new\)=>/)){print chr;}

It's not a bug, it's a feature! - [CGI-World.de]
Crian
 2003-08-16 00:05
#53418 #53418
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
[E|B
,15.08.2003, 22:03]In nächster Zeit trete ich jedem der Michaela heißt in den Hintern! *lol*

Wie meinen? Gerade schlechte Erfahrungen mit einer Trägerin dieses Namens gemacht?
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
BrownWolf
 2003-08-16 00:07
#53419 #53419
User since
2003-08-15
308 Artikel
BenutzerIn
[default_avatar]
[quote=Crian,15.08.2003, 22:01][quote=BrownWolf,15.08.2003, 20:03]es muss wohl an der Hitze liegen , aber ich komm wirklich nicht weiter.[/quote]
Welche Hitze? die Hitzewelle ist doch vorbei :)[/quote]
Hm, wohne aber in Spanien und hier ist die Hitzewelle noch.
Heute morgen wo ich aufgewacht bin war mein T-Shirt klitsche Nass. ;)
Code (perl): ()
1
2
3
sub _{s;;xrqIpiql\\{}p{pl{R>rl{N{}gjwpkssq]>rl{N;;;*{{}=*{_};;
&#36{{}={q{{{}}}=>[reverse+split+reverse+q;}{;]};&#36{{}->{q{{{}}}}->[@{{}];}
&#36{{}=reverse+_(q{{}}=>q{{}})^chr(30)x+length&_(q{{}}=>,q{{}})and+print;
format_c
 2003-08-16 00:08
#53420 #53420
User since
2003-08-04
1706 Artikel
HausmeisterIn
[Homepage] [default_avatar]
Muss ich das jetzt verstehen???

Gruß Alex :p
Edit: @:[E|B]\n\n

<!--EDIT|format_c|1060978174-->
Crian
 2003-08-16 00:12
#53421 #53421
User since
2003-08-04
5866 Artikel
ModeratorIn
[Homepage]
user image
[quote=BrownWolf,15.08.2003, 22:07][quote=Crian,15.08.2003, 22:01][quote=BrownWolf,15.08.2003, 20:03]es muss wohl an der Hitze liegen , aber ich komm wirklich nicht weiter.[/quote]
Welche Hitze? die Hitzewelle ist doch vorbei :)[/quote]
Hm, wohne aber in Spanien und hier ist die Hitzewelle noch.
Heute morgen wo ich aufgewacht bin war mein T-Shirt klitsche Nass. ;)[/quote]
Ach ja, sorry, hab ich ganz vergessen ... mein Beileid zur Hitze...
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
<< |< 1 2 3 >| >> 28 Einträge, 3 Seiten



View all threads created 2003-08-15 22:03.