#/usr/bin/perl
use strict;
use warnings;
use IO::File;
use 5.010;
my $filename = shift @ARGV;
my $fh = IO::File->new($filename, 'r');
my $fh_iterator = sub {
my $fh = shift;
my $line = $fh->getline;
}
while (my $line = $fh_iterator->($fh)) {
# do stuff to $line
}
####
$line .= $fh_iterator->($fh) if $line =~ /\\\n/
##
##
sub fh_iterator {
my $fh = shift;
my $line = $fh->getline;
$line .= fh_iterator($fh) if $line =~ /\\\n/;
return $line;
}