Thread hash wird gelöscht/überschrieben(foreach und hash): warum wird hash gelöscht?!! (12 answers)
Opened by bamboocha at 2005-05-18 12:22

renee
 2005-05-18 12:38
#33252 #33252
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Du erzeugst den Hash jedesmal neu...

Was Du machst (kein EmbPerl):
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#! /usr/bin/perl

use strict;
use warnings;
use Data::Dumper;

my %hash;
my $w = 1;
for $v (0..3){
%hash = ($w => $v);
$w++;
}

print Dumper(\%hash);



Wie es aber aussehen sollte:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#! /usr/bin/perl

use strict;
use warnings;
use Data::Dumper;

my %hash;
my $w = 1;
for $v (0..3){
$hash{$w} = $v;
$w++;
}

print Dumper(\%hash);


Übertragen auf Dein Beispiel (wenn ich EmbPerl auf die SChnelle richtig interpretiere):
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
[$ while $dat = $sth -> fetchrow_arrayref $]
[- $w = 1; -]
[- %thelabel; -]

[$ foreach $v @$dat $]

[- $thelabel{$w} = $v; -]

#Bemerkung: Kontrollausgabe --> dabei wird aber nur der Hash mit dem Namen 1 ausgegeben und das nur, wenn dieser gerade zugewiesen wurde

Wert [+ $w +]: [+ $thelabel{$w}+] ***** [+ $thelabel{1} +]</b><br>

[- $w++; -]
[$ endforeach $]

[- %thelabel2 = ($thelabel{1}, $thelabel{3}) -]

[$ endwhile $]

[+ $thelabel2{S002} +]
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/

View full thread hash wird gelöscht/überschrieben(foreach und hash): warum wird hash gelöscht?!!