... why perl is not complaining with an error regarding a statement like "$m=($1,$2,$3,$4,$5,$6,$7)",
The following set of statements are syntactically correct:
(1, 2, 3, $foo, 5, 6, $bar) is a list. Evaluating a list in scalar context (which is imposed by assignment to the scalar $m) causes the evaluation of every expression in the list, with only the result of the evaluation of the last item ($bar in this case) being returned. All other results are thrown away, which is why you see all the "Useless use of..." warnings — not errors! See the article Context tutorial in the Monastery's Tutorials section.Win8 Strawberry 5.8.9.5 (32) Mon 09/21/2020 19:49:29 C:\@Work\Perl\monks >perl use strict; use warnings; my $foo = 42; my $bar = 137; my $m; $m = (1, 2, 3, $foo, 5, 6, $bar); Useless use of a constant in void context at - line 8. Useless use of a constant in void context at - line 8. Useless use of private variable in void context at - line 8. Useless use of a constant in void context at - line 8. Useless use of a constant in void context at - line 8. print $m; __END__ 137
Give a man a fish: <%-{-{-{-<
In reply to Re^2: Need advice in for perl use as awk replacement
by AnomalousMonk
in thread Need advice in for perl use as awk replacement
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |