in reply to Tk lab entry widget

The -command => [ sub {}, @args ] syntax evaluates @args at the time the widget is created. You want
$info_test = $mrc_frame->Button( -text => 'Generate & View', -command => sub{ print $output; }, )->pack();

edit: which will hang on to the $output var and re-evaluate it everytime the anonymous sub is called.