Prototyping can be useful in Perl. It shouldn't be overused, however. They  
can be powerful when trying to make functions that look and feel like 
built-ins.  Trying to, for example, create a subroutine that looks like map, grep, and 
sort  is made by prototyping it as (&@) (will pass coderef and an array). If 
you  want to accept an array and handle it like splice does you can do (\@;@)  
(will pass array ref and an optional array). 
 
There are very specific examples found in the manual in perldoc  perlsub.
 
And there is a warning IF the subroutine is declared before you call  it.
 
Prototyping(1,2);  #No exception, just a warning
 
sub Prototyping ($$$) {
print pop;
}
 
Prototyping 1, 2, 3; #Good job
&Prototyping(1,2); #works, read perldoc perlsub
Prototyping(1); #Death
 
I'm an advocate of prototyping. I like the power it can display in making  
your own functions behave like built-ins. But you can't go crazy with it and  
prototype every sub you write. Only do it when it makes your and the  
enduser's/maintainer's life easier.

--
-will  
http://www.wgunther.tk
(the above message is double rot13 encoded for  security reasons)

Most Useful Perl  Modules
-strict
-warnings
-Devel::DProf
-Benchmark
-B::Deparse
-Data::Dumper
-Clone
-Perl::Tidy
-Beautifier
-DBD::SQLite 
 

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to