#!/usr/bin/env perl use Tk; use Env; use Tk::DirSelect; use diagnostics; #use warnings; $mw = new MainWindow; #Initialize main window my $entry_output_dir = $mw -> Entry(-textvariable=>\$last_directory); # Directory my $label_output_dir = $mw -> Label(-text=>"Output Directory:"); my $button_choose_output_directory = $mw -> Button(-text => "Choose", -command =>\&choose_output_directory); # open a directory picker $entry_output_dir -> grid(-row=>1,-column=>2); $label_output_dir -> grid(-row=>1,-column=>1); $button_choose_output_directory -> grid(-row=>1,-column=>3); MainLoop; sub choose_output_directory { use Data::Dumper; $new_directory = ' '; print Dumper( $last_directory, $new_directory); my $ds = $mw->DirSelect(-title => 'Select Directory', -width => 40); my $new_directory = $ds->Show($last_directory); if ($new_directory ne '') {$last_directory = $new_directory} } #### Tk::Error: Can't call method "selectionGet" on unblessed reference at C:/Perl64/ site/lib/Tk/DirSelect.pm line 53. DirSelect::__ANON__ at C:/Perl64/site/lib/Tk/DirSelect.pm line 53 Tk callback for .dirselect.frame2.button Tk::__ANON__ at C:/Perl64/site/lib/Tk.pm line 250 Tk::Button::butUp at C:/Perl64/site/lib/Tk/Button.pm line 175 (command bound to event)