http://qs321.pair.com?node_id=899364

cat_baby has asked for the wisdom of the Perl Monks concerning the following question:

Hello, wise Perl friends.

There ought to be a repository of common expressions and how they behave in each context / what their default context is. I know there are tons of vanilla examples found in tutorials everywhere (such as assigning an array to a scalar) but some slightly more sophisticated operations still trip me up.

For example:

m/.../ returns true or false in scalar context m/.../g give you a list of matches in list context m/(...)/ can populate an array with whatever gets captured... (??)
while( ) i.e. inside parenthesis is evaluated in scalar context? foreach( ) i.e. inside parenthesis is evaluated in list context?
<STDIN> returns the next line of input in list context

In fact, I could be wrong on a lot of these but that's not my point. Is there a handy reference-like guide available anywhere that tells you how these expressions behave?