#!/usr/bin/env perl use strict; use warnings; use Tk; my $mw = MainWindow::->new(); $mw->Button( -text => 'Select directory', -command => sub { my $dir = $mw->chooseDirectory(); # Do something with $dir # You probably want more than this demo test: if (defined $dir) { warn "Directory selected: '$dir'\n"; } else { warn "No directory selected.\n"; } }, )->pack(); MainLoop;