R. Joseph Newton wrote:
>
> l Maldonado Torres wrote:
>
> >
> > I am trying to use prototype functions with object but this seems not
> > to work, I mean perl does not check for the type of arguments.
> >
> > I usually do this.
> >
> > sub array_print(\@);
> > ...sub array_print(\@)
> >   ...
>
> Your immediate problem here is that you are trying to use an expression as a
> formal argument.  Formal arguments in Perl can only take storage types.  Really,
> the only meaningful ones are scalar and list.  The list, if it is present, must
> be the last parameter, and there can only be one, since any list will consume
> all arguments offered from there on.
>
> The formal parmeter expressions you show are both array references.  These are
> scalars.  They should be prtotyped as $.

Sorry Joseph. This from perldoc perlsub

  Prototypes

    Perl supports a very limited kind of compile-time argument checking
    using function prototyping. If you declare

        sub mypush (\@@)

    then "mypush()" takes arguments exactly like "push()" does.

Cheers,

Rob



-- 
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