#!/usr/bin/perl use strict; use warnings; use Gtk2 '-init'; use utf8; my $file='/home/topeg/PERL/test.txt'; $file=select_file('Datei öffnen','open',$file); if($file) { print "FILE: $file\n"; } else { print "NO FILE\n"; } ######################################################################## sub select_file { my $title=shift // 'Select File'; my $action=shift // 'save'; # open, save, select-folder, create-folder my $file=shift; my $choose=Gtk2::FileChooserDialog->new ( $title, undef, $action, 'gtk-cancel' => 'cancel', 'gtk-open' => 'ok', ); $choose->set_filename($file) if($file && -f $file); $choose->set_default_response ('cancel'); $file=$choose->run() eq 'ok'? $choose->get_filename(): undef; $choose->destroy(); return $file; }