It's the same idea whether it's a perl script, php page, ASP *Gaaak* page, or whatever.
For an example of this, look at almost any page in the Monastery...
Pulling out the arguments you pass to your script in this fashion (or via the POST method) will require the modules belg4mit mentioned.
Update:wog++. Taking wog's post a bit further, it's probably a good idea to do URL Escaping -
pass all strings like the URLs I've written above through URI::Escape or CGI's escape() in order to correctly handle difficult arguments.
It's something I've got into the habit of - IMHO it's worth having a sub urlEncode in bigger systems.
The &s in URLs should be written & and & in HTML.
If the CGI, etc. you are calling supports it, it would probably be
cleaner to use ; instead of & as the parameter seperator. (CGI.pm supports this.)
UPDATE: Additionally, passing arguments directly
could be a Bad Thing. Passing parameters via another means
requires additional processing to extract them, this is
a Good Thing because while you are doing this you might
as well go "whole hog"(?) and untaint and
validate the data. Just as a general rule.