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')]); 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}; }