use FileNamePrep qw( promptFilename ); ... my $file1 = promptFilename("Please enter the name of the file to copy."); ... my $file2 = promptFilename("Please enter the name of the copy destination."); ######################### package FileNamePrep; use strict; use Exporter; use vars qw($VERSION @ISA @EXPORT @EXPORT_OK %EXPORT_TAGS); $VERSION = 0.1; @ISA = qw(Exporter); @EXPORT = (); @EXPORT_OK = qw(promptFilename); %EXPORT_TAGS = ( DEFAULT => [qw(promptFilename)], Both => [qw(promptFilename)]); sub promptFilename { my $prompt = shift; print $prompt . "\n"; my $file; while(! $file ){ # fixed this loop $file = <>; chomp($file); $file =~ s/^"(.+)"$/$1/; # unquote } return $file; } 1;