Come for the quick hacks, stay for the epiphanies. | |
PerlMonks |
Re^3: Scalars, Lists, and Arrays (run time)by ysth (Canon) |
on Feb 09, 2010 at 03:30 UTC ( [id://822125]=note: print w/replies, xml ) | Need Help?? |
Any contextual effects happening at compile time would be optimizations requiring extra code so I'm not surprised that I couldn't find any cases of that. It would also require some static analysis of the parsed code to even determine if the context can be known at compile time. This type of static analysis is pretty rare in perl.But that analysis is exactly what happens - the syntax tree is descended and every operation applies context (or doesn't) to its operands, marking then as having list, scalar, or void context as determined by the operation. Then anything left unmarked gets context from the call stack at runtime.
-- A math joke: r = | |csc(θ)|+|sec(θ)|-||csc(θ)|-|sec(θ)|| | Online Fortune Cookie Search Office Space merchandise
In Section
Seekers of Perl Wisdom
|
|