use strict;
use warnings;
use diagnostics;
####
$ perl -c 298_SoPW.pl
Warning: Use of "-s" without parentheses is ambiguous at 298_SoPW.pl line 36 (#1)
(S ambiguous) You wrote a unary operator followed by something that
looks like a binary operator that could also have been interpreted as a
term or unary operator. For instance, if you know that the rand
function has a default argument of 1.0, and you write
rand + 5;
you may THINK you wrote the same thing as
rand() + 5;
but in actual fact, you got
rand(+5);
So put in parentheses to say what you really mean.
Unterminated <> operator at 298_SoPW.pl line 36 (#2)
(F) The lexer saw a left angle bracket in a place where it was expecting
a term, so it's looking for the corresponding right angle bracket, and
not finding it. Chances are you left some needed parentheses out
earlier in the line, and you really meant a "less than".
Uncaught exception from user code:
Unterminated <> operator at 298_SoPW.pl line 36.
at 298_SoPW.pl line 36
##
##
my @selection = grep { -s > 1000 } @ARGV;
##
##
-s($file) + 1024 # probably wrong; same as -s($file + 1024)
(-s $file) + 1024 # correct