http://www.perlmonks.org?node_id=1057124


in reply to Re: Iterator to parse multiline string with \\n terminator
in thread Iterator to parse multiline string with \\n terminator

EDIT: Oh, I'm an idiot... for got to change:
$line .= $fh_iterator while $line =~ m{\\$};

To:

$line .= $fh->getline while $line =~ m{\\$};

However, the code does return the error below on the last line of my test file...

Use of uninitialized value $line in pattern match (m//) at parser3.pl +line 17, <GEN0> line 5.

Begin Original Post

Hmm... well, I get a new error at least:/p>

Use of uninitialized value $line in pattern match (m//) at parser3.pl +line 17, <GEN0> line 5.

Here's the accompanying code and test file:

#/usr/bin/perl use strict; use warnings; use IO::File; use 5.010; my $filename = shift @ARGV; my $fh = IO::File->new($filename, 'r'); sub fh_iterator { my $fh = shift; my $line = $fh->getline; $line .= fh_iterator($fh) while $line =~ m{\\$}; } while (my $line = fh_iterator $fh ) { print $line; } __END___ test.file foo \ bar \ baz single line