my $mockOb = SomeClass->new; my $search = $contentFrame->new_ttk__entry(-takefocus => 1, -font => 'Arial 11', -width => 40, -validate => 'focusout', -textvariable =>\$mockOb->search, -validatecommand => [\&searchValidation, Tkx::Ev('%P')] ); # Write information back to our $mockOb $search->bind('', sub { $mockOb->search( $search->value )}); sub searchValidation{ ....do crazy stuff } SomeClass sub new { my $class = shift; my $self = { search = "" }; bless $self, $class; return $self; } sub search{ my $self = shift(); if(@_) { $self->{search} = shift(); } return $self->{search}; }