http://qs321.pair.com?node_id=1106869


in reply to Perl Newline Help

Not beautiful, but gets the job done:

while (<DATA>) { if (/^FILE/ && split(/[\s\\]+/) == 5) { my ($num,$trail) = <DATA> =~ m/^\s*(\d+)\s*(.*)$/s; s/\s*(?=\\\s*$)/ $num /s; print; print $trail; } else { print; } } __DATA__ FILE TEXT VAL 9999.999 08-jul-2014 \ 270 3E4497B6B8482ADED734 HDNDFLHWLEJHFL LKSNFLKN \ WKENFLWHFELHN UIEKEFJBKJFN FILE TEXT2 VAL 9999.999 16-may-2014 60 \ 8EC4B7367989D54F6D6C HSHFGFLALKHF KJAHEFKHAH\ YRNBFLJNELFN LQJFLKJWEF LKJFLKWJF

Prints:

FILE TEXT VAL 9999.999 08-jul-2014 270 \ 3E4497B6B8482ADED734 HDNDFLHWLEJHFL LKSNFLKN \ WKENFLWHFELHN UIEKEFJBKJFN FILE TEXT2 VAL 9999.999 16-may-2014 60 \ 8EC4B7367989D54F6D6C HSHFGFLALKHF KJAHEFKHAH\ YRNBFLJNELFN LQJFLKJWEF LKJFLKWJF