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


in reply to Rosetta Code Error or $n // 100

They are really the same question. Passing only two arguments gets you an undef for the third argument. // is the defined or which returns the left hand argument if it is defined ($_[2] in this case) or the right hand argument if the left is undefined (100 in this case). So the expression returns 100 if the third argument is missing (undef).

It is commonly used, as in the example code, to provide a default value when a variable or return from a sub may be undefined.

Optimising for fewest key strokes only makes sense transmitting to Pluto or beyond