in reply to The philosophy behind element reference syntax
It helps if you understand how Perl stores the variables - i.e. the program's namespace:
The NAME is simply "days". When you want to access a variable named "days", you can think of the "$" as a de-reference operator, so asking for "$days" says - "go to the namespace, and fetch the scalar named "days". Similarly, asking for "@days" requests and array named "days" - with the understanding that there is a separate namespace for arrays and scalars, so two different data types can have the exact same name.
Before I get flamed - this is a simplified explanation, and there is a lot more to the namespace - but thinking of it in these terms made it simpler for me to resolve issues.
Also remember that perl selects namespace based on CONTEXT. So, if I want an element of an array, (days[6]), if you think that perl sees the subscript before looking at the $ or @ in front of it, it knows which namespace to fetch from. Hence, it is NOT confused by a request for $days[6] (although a human might be).
Update:Finally figured out how to display the [ and ] characters - use "[" and ] for ]
Thanks to rinceWind who also pointed this out, and revdiablo who provided a way to show & to explain THIS note.
...each is assigned his own private delusion but he cannot see the baggage on his own back.
|
|---|