http://qs321.pair.com?node_id=842758


in reply to passing a file to a cgi script

You say you want to pass a number of items to a script. There are several ways, depending on your point of origin. I get the sense that you want fluidity in your script with changing parameters. IMO, a file would be more cumbersome, where using the standard conventions of an HTTP post and CGI would offer greater ease and flexibility.

Some options, in no order:

  1. If you are posting from an HTML form, this is already done for you in the guise of name=value pairs. You just have to use CGI to parse the string.
  2. You can provide the name=value pairs yourself (you started to show this). E.g., upload.cgi?name1=value1&name2=value2&name3=value3... There's no limit to the number of pairs.
  3. If you are supplying the name=value pairs via file, where does the file come from? Is it uploaded from your local computer via a form or FTP, or created on the server through an editor, e.g., Vim, or some admin HTML form
  4. Or could you use a configuration file and tap it with something like Config::Simple?
  5. Is it a text file or can the name=values be stored in a database?

If you are calling the script from an HTML link or another Perl script, option #2 above would be the easiest. Messing with uploading and maintaining files seems kludgy.

—Brad
"The important work of moving the world forward does not wait to be done by perfect men." George Eliot