#!/usr/bin/perl use strict; use warnings; use Gtk2 '-init'; my $window = Gtk2::Window->new; $window->set_title("File Selector"); $window->signal_connect( destroy => sub { Gtk2->main_quit; } ); my $button = Gtk2::Button->new("Select"); $button->signal_connect( clicked => \&dir_selector ); $window->add($button); $window->show_all(); Gtk2->main; sub dir_selector { my $d = Gtk2::FileChooserDialog->new( 'Choose a Directory', $window, 'select-folder', "Cancel" => "cancel", "OK" => "accept", ); my $response = $d->run(); if ( "accept" eq $response ) { print $d->get_filename(), "\n"; } $d->destroy; }