> does that make it any clearer?

Absolutely ! now 99.9% clear except the following query !
So am I right to say that @_ is the default array, something like the
default scalar $_.

eg of default $_ :-
@array = qw (hello world);
foreach (@array) {
            print;   ## print $_
};

Thank You !

--- end of msg -----

----- Original Message -----
From: "Daniel Gardner" <[EMAIL PROTECTED]>
To: "Leon" <[EMAIL PROTECTED]>
Cc: <[EMAIL PROTECTED]>
Sent: Monday, November 26, 2001 8:59 AM
Subject: Re[2]: @_


> Hello Leon,
>
> Monday, November 26, 2001, 12:15:59 AM, Leon wrote:
>
> L> ----- Original Message -----
> L> From: "Jenda Krynicky" <[EMAIL PROTECTED]>
> L> To: <[EMAIL PROTECTED]>
> L> Sent: Monday, November 26, 2001 4:44 AM
> L> Subject: Re: @_
>
> >> When you cann a function all the parameters you gave it end up in
> >> @_. You can (and usualy do) copy them then into some lexical
> >> variables to give them meaningfull names. You don't have to
> >> though.
>
> ---->> If for example <----  you wanted to write a function that sums two
>
> L> I like your style, in fact I think everybody should follow Jenda's
style of
> L> giving an example after an explanation ; an example paints a thousand
words.
>
> >> numbers you can write it either as
> >> sub add {
> >> my ($a, $b) = @_;
> >> return $a + $b;
> >> }
>
> L> On the above, so what is @_?
> L> @_ = ?
>
>
> if i have code like:
>
>   $result = add( 2, 3 );
>
> then in the code
>
>   sub add {
>    my ($a, $b) = @_;
>    return $a + $b;
>   }
>
> @_ is set to the list (2, 3) just after the "sub add {" line
>
> there's nothing really special about @_, it's the same as any other
> array, eg:
>
>   @foo = (1, 2, 3);
>
> isn't special, @_ is just an array who's name is "_", think of the _
> like the letter "a" and it might look more comprehensible.
>
> the only special part comes when we're calling a subroutine, where @_
> is used to pass the variables into our subroutine.
>
> we could say:
>
>   my @foo = (1,2,3);
>   my ($value1, $value2, $value3) = @foo;
>
> and now $value1 == 1, $value2 == 2 and $value3 == 3. so it's the same
> when we use @_ at the start of a function.
>
>   my ($a, $b) = @_;
>
> does that make it any clearer?
>
>
> --
> Best regards,
>  Daniel                            mailto:[EMAIL PROTECTED]


_________________________________________________________
Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to