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

worst_case
 2019-02-03 17:41
#189694 #189694
User since
2007-08-18
46 Artikel
BenutzerIn
[default_avatar]
Hallo,

Die Socketschnittstelle kann ich nicht verändern.
Weder send noch receive


1. ##############################################################
Code: (dl )
1
2
3
4
my $var_ref = lesen_var_referenz('SYS_verz_meldung_max_differenz_rrm');
print Dumper($var_ref);
my $bar;
print Data::Dumper->Dump([$var_ref, $bar], [qw(var_ref *ary)]);


Code: (dl )
1
2
3
4
Ausgabe:
$VAR1 = 'HASH(0x55d754e8f098)';
$var_ref = 'HASH(0x55d754e8f098)';
$ary = undef;



2. ##############################################################
aktuell funktioniert
========================
Code: (dl )
1
2
3
4
5
6
sub lesen_var_referenz
{ my ($newsock, $variablenname) = @_;
$newsock->send($daten{$variablenname}{format});
}
my $var_ref = lesen_var_referenz('SYS_verz_meldung_max_differenz_rrm');
print $var_ref;

das richtige Ergebnis ... ich bekomme den Inhalt von $daten{$variablenname}{format} als Rückgabe auf die $var_ref


Code: (dl )
1
2
3
4
5
6
7
sub lesen_var_referenz
{ my ($newsock, $variablenname) = @_;
$newsock->send($daten{$variablenname});
}

my $var_ref = lesen_var_referenz('SYS_verz_meldung_max_differenz_rrm');
print $var_ref->{format}; # Zeile 171

Hier bekomme ich einen Fehler
<pre>Can't use string (&quot;HASH(0x561e0c617688)&quot;) as a HASH ref while &quot;strict refs&quot; in use at /usr/lib/perl5/5.26.1/visual/eingabe_sys_wert.pm line 171.


Etwas grundsätzliches:
Kann ich überhaupt die referenz von "$daten{$variablenname}" einfach erweitern ?? z.B.

auf $var_ref->{format} ## Orginal $daten{$variablenname}{format}


Eine bitte, wenn Ihr mehr infos braucht, bitte genau angeben was gebraucht wird, bzw. genau welche Ausgaben mit welchem Programm oder Funktion.

Danke

View full thread Hashreferenz bearbeiten