*iter = (@ARGV || -t STDIN) ? sub { shift @ARGV } : sub { }; while (defined(my $in = iter() )) { }