#!/usr/bin/perl use strict; use warnings; use 5.010; use UI::Dialog; my $d = new UI::Dialog ( title => 'SelectFile', order => [ 'kdialog', 'zenity', 'xdialog' ] ); my $fileIn = $d->fselect( path => '/path/to/my/files/' ); say "Selected: $fileIn"; #### #!/usr/bin/perl use strict; use warnings; use 5.010; use UI::Dialog; use Capture::Tiny ':all'; my $d = new UI::Dialog ( title => 'SelectFile', order => [ 'kdialog', 'zenity', 'xdialog' ] ); sub filename{ my $selected = $d->fselect( path => '/path/to/my/files/' ); return $selected; } my $fileIn = capture_stdout \&filename; chomp $fileIn; #because there's newline at the end of stdout say "Selected: $fileIn";