Hi everyone,
I'm reading the modern perl book and I have some questions to address about
scalar and list context.
Here is the code that I want to understand.
while (<>) { chomp; say scalar reverse; }
Where I'm struggling is : say scalar reverse;
The book says that 'say' impose list context to Its operands. 'reverse'
impose list context on to its operands and treat them as a list in list
context and a concatenated string in scalar context.
The questions are:
Is 'say' that is imposing list context in 'reverse' or 'reverse' it self
treats it's operands in list context or it's both?
The most confusing part:
There is 'scalar' before 'reverse', so 'reverse' is evaluated in scalar
context!
So how can reverse executing in both contexts (list and scalar context)?
I'm sure I missed something.
It will be great if I have more explanation.
Thank you.
Regards, Zakaria