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

hash sortieren

Leser: 5


<< |< 1 2 >| >> 16 Einträge, 2 Seiten
Gast Gast
 2006-03-15 19:02
#63832 #63832
Hi Jungs.

Wie kann ich einen merhdimensionalen Hash sortieren, nach seinen Elementen?


Code: (dl )
1
2
3
4
5
6
$Liste[$id][$x][$y]{'Wert'} = 30;
$Liste[$id][$x][$y]{'Wert'} = 4;
$Liste[$id][$x][$y]{'Wert'} = 7;
$Liste[$id][$x][$y]{'Wert'} = 7;

#nun nach dem Schlüssel 'Wert'sortiert.
cbxk1xg
 2006-03-15 19:16
#63833 #63833
User since
2003-10-20
496 Artikel
BenutzerIn
[default_avatar]
Schau mal hier Wiki:Wiki::Hashes sortieren
master
 2006-03-15 20:49
#63834 #63834
User since
2003-10-20
610 Artikel
BenutzerIn
[default_avatar]
Leider reicht diese Antwort nicht:-(

Ich habe ein mehrdimensionales Hash....

$hash{1},{1},{'ID'} = 1
$hash{1},{2},{'ID'} = 1000
$hash{1},{3},{'ID'} = 1



Nun will ich das mein $Hash Numerisch sortiert wird nach "ID"
und das resultat soll dann den $hash mit der Sortierten version ersetzen..\n\n

<!--EDIT|master|1142448618-->
$i='re5tsFam ^l\rep';$i=~s/[^a-z| ]//g;$\= reverse "\U!$i";print;
master
 2006-03-15 20:49
#63835 #63835
User since
2003-10-20
610 Artikel
BenutzerIn
[default_avatar]
??\n\n

<!--EDIT|master|1142448635-->
$i='re5tsFam ^l\rep';$i=~s/[^a-z| ]//g;$\= reverse "\U!$i";print;
Relais
 2006-03-15 20:52
#63836 #63836
User since
2003-08-06
2246 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=cbxk1xg,15.03.2006, 18:16]Schau mal hier Wiki:Wiki::Hashes sortieren[/quote]
hmm, was war denn das?
Erst denken, dann posten --
27. Deutscher Perl- u. Raku -Workshop (Termin wird noch gesucht) 2025 in München.

Winter is Coming
master
 2006-03-15 21:05
#63837 #63837
User since
2003-10-20
610 Artikel
BenutzerIn
[default_avatar]
nochmals...  brauche keinen sortierten "array" sondern einen
geänderten hash!


A: $hash{1},{1},{'ID'} = 1
B: $hash{1},{2},{'ID'} = 1000
C: $hash{1},{3},{'ID'} = 2


%hash2  = sort_nach_ID -> %hash;

nun muss es heissen:
A, C, B



oder ein %hash(){}{}{}{Sortiert nach diesem element}\n\n

<!--EDIT|master|1142449602-->
$i='re5tsFam ^l\rep';$i=~s/[^a-z| ]//g;$\= reverse "\U!$i";print;
vayu
 2006-03-15 21:27
#63838 #63838
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
du kannst es vergessen einen hash zu sortieren ;) sobald du die Daten sortiert in den hash eingibst und sie wieder ausgeben lässt, kann die reihenfolge wieder komplett durcheinander sein.
renee
 2006-03-15 22:02
#63839 #63839
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Oder Du schaust Dir mal CPAN:Tie::Hash::Sorted an...
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/
cbxk1xg
 2006-03-15 23:07
#63840 #63840
User since
2003-10-20
496 Artikel
BenutzerIn
[default_avatar]
Sorry, meine Antwort war wohl ein Griff ins Klo.
master
 2006-03-15 23:47
#63841 #63841
User since
2003-10-20
610 Artikel
BenutzerIn
[default_avatar]
ok...

geht das ganze ev. mit einem array?

$x=0;

$daten[1][$x]= 7
$daten[2][$x]= 6
$daten[3][$x]= 10


und das Ganze nun nach den Werten sortiert werden.
Der komplette Array soll nach $x sortiert werden bzw. dessen werten.


(Eine art "Order By")
$i='re5tsFam ^l\rep';$i=~s/[^a-z| ]//g;$\= reverse "\U!$i";print;
<< |< 1 2 >| >> 16 Einträge, 2 Seiten



View all threads created 2006-03-15 19:02.