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]...
|Replies are listed 'Best First'.|
Re^2: Web Browser File Upload Progress Bar in Perl w/AJAX
by skazat (Chaplain) on Dec 11, 2006 at 12:02 UTC