http://www.perlmonks.org?node_id=29875

sinan has asked for the wisdom of the Perl Monks concerning the following question: (cgi programming)

When I use CGI.pm in the perl program and run it, I get a line that asks me for name=value pairs on standart input. How do I enter these?

Originally posted as a Categorized Question.

  • Comment on How do I enter parameters from the Command Line?

Replies are listed 'Best First'.
Re: How do I enter parameters from the Command Line?
by merlyn (Sage) on Aug 27, 2000 at 15:55 UTC
    Well, a quick typing of perldoc CGI reveals a pretty direct answer without waiting for a fellow monk to go fetch the book and read it to you...
    DEBUGGING If you are running the script from the command line or in the perl debugger, you can pass the script a list of key- words or parameter=value pairs on the command line or from standard input (you don't have to worry about tricking your script into reading from environment variables). You can pass keywords like this: your_script.pl keyword1 keyword2 keyword3 or this: your_script.pl keyword1+keyword2+keyword3 or this: your_script.pl name1=value1 name2=value2 or this: your_script.pl name1=value1&name2=value2 To turn off this feature, use the -no_debug pragma. To test the POST method, you may enable full debugging with the -debug pragma. This will allow you to feed new- line-delimited name=value pairs to the script on standard input. When debugging, you can use quotes and backslashes to escape characters in the familiar shell manner, letting you place spaces and other funny characters in your param- eter=value pairs: your_script.pl "name1='I am a long value'" "name2=two\ words +"
Re: How do I enter parameters from the Command Line?
by athomason (Curate) on Aug 27, 2000 at 13:01 UTC
    Do just that: enter name=value pairs. For example, if you want the variable node_id to be set to 29875, enter node_id=29875 on a line by itself. Rinse and repeat for each parameter you want to set. When you're finished (or if you don't want to set any at all), enter your EOF control character, which is CTRL-D on most Unix systems and CTRL-Z on Windows.