Thread Ties und Hashrefs (9 answers)
Opened by J-jayz-Z at 2005-11-21 21:34

J-jayz-Z
 2005-11-21 21:34
#60295 #60295
User since
2005-04-13
625 Artikel
BenutzerIn
[Homepage] [default_avatar]
Hi, ich hab hier ein Problem, wie das mit Ties und Hashreferenzen ist.
Ich will (nur als beispiel) das beliebte "Groß und Kleinschreibungshash" in allen anonymen Hashes übernehmen.
Also das:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
#!/usr/bin/perl
use strict;
use warnings;

package main;

my %foo;
tie %foo, "myTieHash";

$foo{BluBb} = "foo";
$foo{grML} = "bar";

print $foo{BlUbb} . "\n";
print $foo{grml} . "\n";

package myTieHash;

#Konstruktor für ein Hash Tie
sub TIEHASH {
my $class = shift;
my %self = @_;
return bless \%self, $class;
}

#Routine für den Schreibzugriff
sub STORE {
my $self = shift;
my ($key, $value) = @_;
return $self->{ucfirst lc $key} = $value;
}

#Routine für den Lesezugriff
sub FETCH {
my ($self, $key) = @_;
return $self->{ucfirst lc $key};
}

1;

mit beliebig vielen anonymen Hashes.
Also $foo->{bar}->{bLa}->{blubb}.
Kann mir da wer helfen ?

P.S.:perldoc perltie hat mir auch nich geholfen ...
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="5065726c2d436f6d6d756e697479"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'

http://perl-tutor.de

View full thread Ties und Hashrefs