in reply to Setting -l for a block

-l simply sets $\ so all you need is

{ local $\ = "\n"; ... }

Be warned that local is dynamically scoped, which means that it will also affect functions called from within the block.