Thread Hashreferenz bearbeiten (19 answers)
Opened by worst_case at 2019-02-02 21:34

Linuxer
 2019-02-02 22:53
#189686 #189686
User since
2006-01-27
3870 Artikel
HausmeisterIn

user image
Lass den \ beim Return weg, denn in $daten{Test} steckt schon die Referenz auf den enthaltenen Hash.

Dereferenzieren kannst Du in Perl mit dem Pfeil Operator.

Hier ein valides Beispiel:
Code (perl): (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
#! /usr/bin/perl
use strict;
use warnings;

use 5.020;

my %data;

$data{foo}{addr} = "1.2.3.4";
$data{foo}{name} = "foofoo";
$data{bar}{addr} = "9.8.7.6";
$data{bar}{name} = "barbar";

sub get_reference {
    my $key = shift;
    return $data{$key};
}

my $myref = get_reference( "foo" );

say $myref->{name}, "\n", $myref->{addr};


__END__



Lesenswerte Dokumentation dazu:
Perldoc:perlreftut
Perldoc:perlref
Perldoc:perldata
edit: weitere
Perldoc:perldsc
Perldoc:perllol

PS: Was auch immer Du da zu tun vorhast, ich würd's nicht so machen ;-)
Last edited: 2019-02-02 23:50:39 +0100 (CET)
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread Hashreferenz bearbeiten