in reply to Re: can i pass an array as an argument during a sub routine call???
in thread can i pass an array as an argument during a sub routine call???

It might be my disciplined C days here speaking, but I tend to find prototypes quite useful. Every once in a while I get an error complaining how I tried to send too many/not enough arguments to a function.

Obviously a function with variable number of arguments rarely benefits from a prototype, but if you can add extra checking on those functions with fixed numbers of arguments, why wouldn't you..

  • Comment on Re^2: can i pass an array as an argument during a sub routine call???

Replies are listed 'Best First'.
Re^3: can i pass an array as an argument during a sub routine call???
by davorg (Chancellor) on Sep 06, 2006 at 14:37 UTC

    But you can check the number of arguments without resorting to prototypes. In my opinion, it's far easier to check the length of @_ than to use a prototype.

    As I said before, the problem is that prototypes don't just check the number of arguments. They can also make subtle changes to the types of arguments (as seen in the original post in this discussion). And I think that in many cases that makes them dangerous and best avoided.

    Tom Christiansen once explained the problems, so I don't need to go into detail.

    --
    <http://dave.org.uk>

    "The first rule of Perl club is you do not talk about Perl club."
    -- Chip Salzenberg

Re^3: can i pass an array as an argument during a sub routine call???
by chromatic (Archbishop) on Sep 06, 2006 at 17:32 UTC
    It might be my disciplined C days here speaking, but I tend to find prototypes quite useful.

    What do C function signatures have to do with Perl prototypes?