Thread Experimental keys on scalar is now forbidden at.. (8 answers)
Opened by wollik at 2019-12-10 22:04

Linuxer
 2019-12-10 23:29
#190958 #190958
User since
2006-01-27
3890 Artikel
HausmeisterIn

user image
Hallo,

Wie die Meldung schon sagt, war das ein experimentelles Feature.

Wenn Du eine Referenz auf einen Hash hast, dereferenziere die Referenz um auf die Schlüssel oder Werte zuzugreifen:

Code: (dl )
1
2
3
4
5
#                                                               v--- dereference here
$ perl -E 'my %hash = ( foo => 1, ); my $ref = \%hash; say keys %$ref;'
foo
$ perl -E 'my %hash = ( foo => 1234 ); my $ref = \%hash; say values %$ref;'
1234


Siehe dazu auch Perldoc:perlfunc keys.
perldoc -f keys
...
Starting with Perl 5.14, an experimental feature allowed keys to take a scalar expression. This experiment has been deemed unsuccessful, and was removed as of Perl 5.24.
...


Experimentelle Features können auch wieder verschwinden.
Von daher würde ich mir diese nicht zu sehr angewöhnen.

PS: Ich denke, Zugriff über einen Hash-Namen in einem Skalar geht so gar nicht mehr ohne "Workaround".
Last edited: 2019-12-10 23:30:24 +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 Experimental keys on scalar is now forbidden at..