Thread Perl kann mehr als man denkt... (4 answers)
Opened by renee at 2006-10-25 12:44

renee
 2006-10-25 12:44
#23231 #23231
User since
2003-08-04
14371 articles
ModeratorIn
[Homepage] [default_avatar]
Ronnie hat auf der Mailingliste von Darmstadt.pm gesagt, dass man folgendes Ruby-Snippet nicht in Perl umsetzen kann:
Code: (dl )
1
2
3
4
5
6
foo = [2, 3]
bar = [4, 5]
sum = Hash.new { |hash, key| hash[key] = key.first + key.last }
p sum[foo]
p sum[bar]
p sum


Naja, was soll ich sagen... Ich habe schnell mal etwas nachgedacht und dann Tie::Hash::DarmstadtPM geschrieben. Damit kann man jetzt folgendes machen:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
#!/usr/bin/perl

use strict;
use warnings;
use Tie::Hash::DarmstadtPM;

tie my %hash,'Tie::Hash::DarmstadtPM',sub{$_[0] + $_[-1]};

my $foo = [2,3];
my $bar = [4,5];

print $hash{$foo},"\n";
print $hash{$bar},"\n";


Und man bekommt folgende ausgabe:
Code: (dl )
1
2
3
~/entwicklung 327> perl tie_hash.pl 
5
9
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 Perl kann mehr als man denkt...