Update: Hmm.. also, i see that func1() and func2() are nearly identical, and also that neither returns anything, and they both localize, with 'my', $file1 and $file2, so really they don't do anything.. i think what you mean is something like this:use FileNamePrep qw( func1 func2 ); ... print "Please enter the name of the file to copy.\n"; my $file1 = func1(); ... print "\nPlease enter the name of the copy destination.\n"; my $file2 = func2();
Update: I assume this was a module excercise, but also be aware of the standard File::Copy module. Update: Fixed the bad loop in promptFilename -- thanks to runriguse 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 destinat +ion."); ######################### 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;
In reply to Re: Making/Using a module.
by davidrw
in thread Making/Using a module.
by Andrew_Levenson
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |