sub GoTkGui { my $mw = tkinit; my @stackOfEntries; ## or %division or %meaningfulName SetUpTheCheeze( $mw, \@stackOfEntries ); } sub SetUpTheCheeze { my( $mw, $entriesRef ) = @_; ... $mw->Button(-text => 'Add Field', -command => [ \&addtextbox, $mw, $entriesRef ], ); ... } sub addtextbox { my( $mw, $entriesRef ) = @_; ... ## you decide what you need want ## push @$entriesRef, $ent; ## push @$entriesRef, $entry_1; }