s/^\s*;\s*// || ! s/^\s*:\s*// && $s
-s
switch was given. These are precisely the conditions under which we'll
accept the command as a Unix command. And, under all other conditions,
we'll accept it as a Perl command.
Adding in parentheses, which happen to be optional in this case, we
see that the first logical connective to be concerned with is the "or"
(||
):
s/^\s*;\s*// || ((! s/^\s*:\s*//) && $s)Note:
||
is true, we do not evaluate
the right side.
-s
switch wasn't
given, the colon still will be stripped off.