in reply to difference between array and list in perl
An "Array" is a variable with allocated space in memory (noted/accessed with @x or $x[...] or [a,b,c] resp.) a "List" is either only syntax in the source, i.e. comma seperated expressions² or the mechanism for passing multiple values (e.g. when calling and returning from a sub¹) !
So your example
@list2 = (list1, list2, list3, list4); #example of list (WRONG!)
Shows a list at RHS whose values are assigned to an array-variable LHS.
Unfortunately in perl5 it's not simply possible to identify a list as a "literal array", because there are plenty of subtle differences, eg with @A=(a..c) these snippets $a=@A and $a=(a,b,c) produce totally different results.
UPDATE: Technically there is nothing like a "literal array", even if you construct an anonymous array reference [a,b,c] you have a literal list a,b,c used to initialize an array!
You may want to search in the archives of the monastery ... it's really a f.a.q. ...
Cheers Rolf
1) The values are passed on a internal stack which exists only temporarily.
2) The parens are only for grouping.
UPDATES: different clarifications...
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: difference between array and list in perl
by Anonymous Monk on Jan 17, 2010 at 03:13 UTC | |
by LanX (Saint) on Jan 17, 2010 at 11:17 UTC |