while (1) { $Line = <>; if ($Line =~ /\\$/) { accumulate(); } print $Line; } sub accumulate { $Line =~ s/\\$//; $Continuation = <>; $Continuation =~ s/^\s+//; $Line .= $Continuation; if ($Line =~ /\\$) { accumulate(); } }