http://qs321.pair.com?node_id=1227590


in reply to Re: Declare my variable in sysread - Mojo::File::slurp
in thread Declare my variable in sysread - Mojo::File::slurp

my $line appears as an argument of defined.

No, it doesn't. It's an operand of =, not defined.

Replies are listed 'Best First'.
Re^3: Declare my variable in sysread - Mojo::File::slurp
by choroba (Cardinal) on Dec 22, 2018 at 00:46 UTC
    But the = is, in turn, an argument operand to defined.

    map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]

      Yes, = is an operand of defined, but your whole point is that sysread($file, my $buf, ...) is like defined(my $line), but your code doesn't use defined(my $line).