That's not true. "-" is defined, yet will cause <> to read from STDIN. So would "cat |".
Along that same line, note that "rm -rf / |" would have "interesting" results. Why are you using <> (and thus the 2-arg open) instead of the safer 3-arg open?
In reply to Re^3: @ARGV while (<>) hangs
by ikegami
in thread @ARGV while (<>) hangs
by gatorreina
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |