$ perl -nE "/: / and $c += (split/: /)[0]; if( eof(ARGV) ){ say qq[SUM
+.$ARGV =$c]; $c=0 }" tmp_*
syntax error at -e line 1, near "+="
syntax error at -e line 1, near "; ="
Execution of -e aborted due to compilation errors.
And:
$ c=10
$ echo c
c
$ echo $c
10
$ echo "The total is: $c"
The total is: 10
$ echo 'The total is: $c'
The total is: $c
So within double quotes, the shell expands $variables, which of course happens *before* the shell hands the text over to the perl command. That is similar to the way the shell expands your glob: tmp_* and replaces it with a list of file names, which is what the perl command ends up seeing.
|