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