Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re: Limited Number of User Input

by graff (Chancellor)
on Mar 22, 2013 at 04:13 UTC ( [id://1024866]=note: print w/replies, xml ) Need Help??


in reply to Limited Number of User Input

It would appear that this script is intended to be used interactively in a command-line shell. In that context, the typical approach for getting a list of file names from the user is to have the user provide the names on the command line, so that the script gets the list as @ARGV.

Every shell ever invented supports wildcard characters as a shortcut for specifying sets of file names on a command line, and every decent shell also provides tab completion of file names, so it's a lot easier for the user to supply file names on the command line when running the script. The user doesn't need to answer a question about how many files will be specified, and doesn't need to worry about typing mistakes while the script is running.

None of the snippets in the OP are necessary if the script can be run from the command-line prompt like this:

my_script.pl *.foo # (matches all files with a ".foo" extension" #or: my_script.pl this_long_name.txt that_other_long_name.xml # where hitting <tab> after "thi" and "tha" completes each name automa +tically
Then the script just looks at @ARGV to know how many files were given, and what their names are:
#!/usr/bin/perl ... printf "There were %d files mentioned on the command line:\n", scalar +@ARGV; print join "\n", @ARGV, ''; ...

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1024866]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others admiring the Monastery: (4)
As of 2024-04-24 22:19 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found