in reply to Decoding a frame HASH entry

You seem to be setting the -anchor of a widget to "sec" which is not a valid value.

Instead of editing Tk/After.pm, you can redeclare the method from your code:

use Data::Dumper; my $orig = *Tk::After::once{CODE}; local *Tk::After::once = sub { warn Dumper \@_; $orig->(@_) };

You should see something like

... $VAR1 = [ bless( [ bless( { '_After_' => { 'after#2' => $VAR1->[0] }, '_TkValue_' => '.frame.message', '_Destroy_' => [ bless( [ sub { "DUMMY" }, $VAR1->[0][0] ], 'Tk::Callback' +) ] }, 'Tk::Message' ), 'after#2', 1000, 'once', bless( [ sub { "DUMMY" } ], 'Tk::Callback' ) ], 'Tk::After' ) ];

In this case, the widget was a Tk::Message. I fear yours will be a Frame, as that's the type of $w, but maybe the additional information will help you identify it further.

map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]