Finally, and for extra points (and points mean prizes), how does one describe the difference between a list and an array ?
That's not that hard. Anything that you can push onto is an array, all other things that look like arrays or lists are actually lists. (Any array method that changes the length works as a probe instead)
Examples for Arrays:
@array
# this works:
push @array, $item;
Examples for Lists:
# things returned from subs:
localtime();
# slices:
@INC[0,1,-1];
# literals
qw(foo bar);
# return values from operators
('12') x 10;
# you can't push() on any of these - and it wouldn't make sense anyway