Thread Soll man den hash "resetten" ?: Suche die Lösung für %Hash (7 answers)
Opened by polkana at 2006-12-30 13:27

renee
 2006-12-30 15:17
#72811 #72811
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
So ein reset gibt es bei Perl nicht. In der Doku zu each (perldoc -f each) steht, dass man den Iterator nur zurücksetzen kann, indem man keys oder values aufruft oder sonst alle Elemente ausliest.

So könnte man es machen, wenn man mit last aus der Schleife geht:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/perl

use strict;
use warnings;

my %hash = (test => 1, hallo => 2, dies => 3, ist => 4, ein => 5, welt => 6);

my $counter = 0;
while( my ($key,$val) = each %hash){
print $key, "//", $val,"\n";
# das "keys %hash" dient dem Reset!
keys %hash and last if ++$counter == 2;
}

print "dazwischen\n";

while( my ($key,$val) = each %hash){
print $key, "//", $val,"\n";
}
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 Soll man den hash "resetten" ?: Suche die Lösung für %Hash