use strict; use warnings; use Tk; use Tk::LineNumberText; my $mw = MainWindow->new; my $t = $mw->LineNumberText('Text')->pack(); $t->insert('end', "This is some\n"); $t->insert('end', "normal text\n"); $t->bind('' => [\&updateStatus]); $mw->bind('' => [\&updateStatus]); # Debug section -- shows objects' keys use Data::Dumper; my @tkeys = keys %$t; my $sw = $t->{'SubWidget'}; my @swkeys = keys %$sw; printf "LineNumberText keys .... %s\n", Dumper([@tkeys]); printf "Subwidget keys ......... %s\n", Dumper([@swkeys]); MainLoop(); sub updateStatus { my $text = $sw->{'text'}; # Get Text obj (Not really a good practice!) my $status = $text->index('current'); print "$status\n"; } #### my $text = $sw->{'text'};