Schrift
[thread]8405[/thread]

Hashes verbinden



<< |< 1 2 >| >> 19 Einträge, 2 Seiten
Froschpopo
 2006-10-11 17:19
#70672 #70672
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
Gibts noch ne andere möglichkeit um hashes zu verbinden?
Code: (dl )
1
2
3
4
5
%hash1 = (key1 => 'value1');

%hash2 = ('age1 => 'value3');

$hash1{$_} = $hash2{$_} for keys %hash2;
Gast Gast
 2006-10-11 17:31
#70673 #70673
Code: (dl )
%target = (%source1, %source2);
pktm
 2006-10-11 17:36
#70674 #70674
User since
2003-08-07
2921 Artikel
BenutzerIn
[Homepage]
user image
Hash::Merge macht auch noch ein paar andere Dinge für dich.
http://www.intergastro-service.de (mein erstes CMS :) )
renee
 2006-10-11 17:39
#70675 #70675
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Oder
Code: (dl )
@hash1{keys %hash2} = values %hash2
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/
Froschpopo
 2006-10-11 18:33
#70676 #70676
User since
2003-08-15
2653 Artikel
BenutzerIn
[default_avatar]
hm mir kommts so vor, als wäre meins schon das kürzeste... danke aber :)
Taulmarill
 2006-10-11 18:36
#70677 #70677
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
[quote=renee,11.10.2006, 15:39]
Code: (dl )
@hash1{keys %hash2} = values %hash2
[/quote]
woher willst du wissen, dass keys und values in kommenden perl-versionen die selbe reienfolge haben werden?\n\n

<!--EDIT|Taulmarill|1160577422-->
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
docsnyder
 2006-10-11 18:48
#70678 #70678
User since
2005-09-08
300 Artikel
BenutzerIn
[Homepage] [default_avatar]
@Froschpoppo

Wenn Du das Kürzeste schon hast, dann hier mal was längeres:

Code: (dl )
%hash2 = split("\0", join("\0", (join("\0", %hash1), join("\0", %hash2))));

*hihi*

Gruß, Doc
Taulmarill
 2006-10-11 19:04
#70679 #70679
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
da find ich das hier einfacher:
Code: (dl )
%hash1 = ( %hash1, %hash2 );


hatte der "P" ja weiter oben schon vorgeschlagen.\n\n

<!--EDIT|Taulmarill|1160579130-->
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
pq
 2006-10-11 19:15
#70680 #70680
User since
2003-08-04
12208 Artikel
Admin1
[Homepage]
user image
[quote=Taulmarill,11.10.2006, 16:36]woher willst du wissen, dass keys und values in kommenden perl-versionen die selbe reienfolge haben werden?[/quote]
aus perldoc -f keys:
Quote
              The keys are returned in an apparently random order.  The
              actual random order is subject to change in future versions of
              perl, but it is guaranteed to be the same order as either the
              "values" or "each" function produces (given that the hash has
              not been modified).
Always code as if the guy who ends up maintaining your code will be a violent psychopath who knows where you live. -- Damian Conway in "Perl Best Practices"
lesen: Wiki:Wie frage ich & perlintro Wiki:brian's Leitfaden für jedes Perl-Problem
Taulmarill
 2006-10-11 19:45
#70681 #70681
User since
2004-02-19
1750 Artikel
BenutzerIn

user image
ah, ok. da hab ich wohl bei der diskussion um hashing-algorythmen was falsch verstanden.
$_=unpack"B*",~pack"H*",$_ and y&1|0& |#&&print"$_\n"for@.=qw BFA2F7C39139F45F78
0A28104594444504400 0A2F107D54447DE7800 0A2110453444450500 73CF1045138445F4800 0
F3EF2044E3D17DE 8A08A0451412411 F3CF207DF41C79E 820A20451412414 83E93C4513D17D2B
<< |< 1 2 >| >> 19 Einträge, 2 Seiten



View all threads created 2006-10-11 17:19.