in reply to Re: Dualvar via table
in thread Dualvar via table
I'm not sure if it's a good idea. Perl is adjusting the slots to each other depending on use history.
Hence you'd magically loose information, and I'm not aware of a way to inhibit this.
That's awfully hard to debug if it happens.
(will add an example later)
DB<3> use Scalar::Util qw(dualvar); DB<4> $v = dualvar 137, 'Buster'; DB<5> p "$v" Buster DB<6> p 0+$v 137 DB<7> p $v++ # read string, increment number Buster DB<8> p $v++ # what...? 138 DB<9> p "$v" 139 DB<10>
after incrementing $v, i.e. changing it in numeric context, the string-slot is adjusted to the number-slot°
So can this only happen when I change one of the slots?
If yes, shouldn't such dualvars always been made readonly, too?
Hope you understand my worries.
Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery
FootballPerl is like chess, only without the dice
°) or some flags are changed. Who knows....
FWIW: a very good article from Brian here: https://www.effectiveperlprogramming.com/2011/12/create-your-own-dualvars/
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Dualvar via table
by roboticus (Chancellor) on Jan 18, 2020 at 00:06 UTC | |
by LanX (Saint) on Jan 18, 2020 at 00:36 UTC |