Paul D. Kraus wrote at Thu, 17 Jul 2003 15:33:11 -0400:

> Is there a way to assign a single value to a list? other then doing the
> obvious and spelling out each list assignment or running through a loop.
> 
> For instance...
> 
> my ( $var1, $var2, $var3, ... ) = "Paul"
> assigning paul to all variables in the list.
> 
> or a more useful example
> 
> my  ($passed1, $passed2, ... ) = shift


As you know how many items are on the left side of the list,
you can use the x operator:

my ( $var1, $var2, $var3, $var4 ) = ("Paul") x 4;

That works the same with shift.
But note that in this way, $passed1 would be equal to $passed2 and so on

If you wanted to have $passed1 with the first passed argument,
$passed2 with the second one and so on,
you should use the @_ array directly:

my ($passed1, $passed2, $passed3 ) = @_;


BTW: If you would have an array instead of a list at the left side,
     everything becomes easier:
$_ = "a value" foreach @array;


Greetings,
Janek

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

Reply via email to