in reply to Setting -l for a block

There's a neat trick if you want to find out what an option does, in terms of perl code: use B::Deparse:
$ perl -MO=Deparse -le 'print 1' BEGIN { $/ = "\n"; $\ = "\n"; } print 1; -e syntax OK $ perl -MO=Deparse -ne 'print 1' LINE: while (defined($_ = <ARGV>)) { print 1; } -e syntax OK

This shows how to get the semantics of -l and -n.