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


in reply to Web Browser File Upload Progress Bar in Perl w/AJAX

is this: $q = CGI->new(\&hook [,$data [,$use_tempfile]]); valid Perl?

Yes!

Although it is not literal perl. The first argument "\&hook" is a reference to the subroutine "hook".

The second argument is optional, and thus enclosed in [ and ] characters, and similarly the last argument is optional.

So you could call it in three ways:

# just one argument. $q = CGI->new(\&hook); # two arguments. $q = CGI->new(\&hook ,$data ); # all three - party time! $q = CGI->new(\&hook ,$data, $use_tempfile);

Under Unix-like systems there is a convention that optional arguments are enclosed in "[" and "]" characters. For a simple example of that try readng "man ls" which has the following output:

ls [OPTION]... [FILE]...
Steve
--