in reply to Watch the value of hash key in perldebug

> Any idea?

well

>  $hash{key}{key}{key} = "value".

and

>  $hash->{key}->{key}->{key}

are two different things.

How can I reproduce your problem?

Cheers Rolf
(addicted to the Perl Programming Language :)
Wikisyntax for the Monastery

Replies are listed 'Best First'.
Re^2: Watch the value of hash key in perldebug
by LanX (Cardinal) on Nov 26, 2020 at 15:11 UTC
    > How can I reproduce your problem?

    well I can't

    use strict; use warnings; our $h={}; warn "init"; $h->{k1}{k2}{k3}=42; warn "call sub"; change(); warn "set"; $h->{k1}{k2}{k3}=666; warn "end"; sub change { eval '$h->{k1}{k2}{k3}=12'; }

    Current directory is d:/tmp/pm/ Loading DB routines from perl5db.pl version 1.49_05 Editor support enabled. Enter h or 'h h' for help, or 'perldoc perldebug' for more help. DB<3> L DB<3> w $h->{k1}{k2}{k3} DB<4> c init at d:/tmp/pm/t_watch.pl line 8. at d:/tmp/pm/t_watch.pl line 8. Watchpoint 0: $h->{k1}{k2}{k3} changed: old value: '' new value: '42' DB<4> c call sub at d:/tmp/pm/t_watch.pl line 15. at d:/tmp/pm/t_watch.pl line 15. Watchpoint 0: $h->{k1}{k2}{k3} changed: old value: '42' new value: '12' DB<4> c set at d:/tmp/pm/t_watch.pl line 20. at d:/tmp/pm/t_watch.pl line 20. Watchpoint 0: $h->{k1}{k2}{k3} changed: old value: '12' new value: '666' DB<4> c end at d:/tmp/pm/t_watch.pl line 26. at d:/tmp/pm/t_watch.pl line 26. Watchpoint 0: $h->{k1}{k2}{k3} changed: old value: '666' new value: '' DB<4>

    UPDATE

    expanded code

    Cheers Rolf
    (addicted to the Perl Programming Language :)
    Wikisyntax for the Monastery