Using your approach, it could be done with deferred printing (i.e. you print your stored line only when you know it has no continuation, i.e. when you have read the next one):
This gives the following output:use strict; use warnings; use feature qw(:5.14); my $line_out = <DATA>; chomp $line_out; while (<DATA>) { chomp; if ($_=~/^> ([\d\.\-]+)/) { $line_out .= $1; } else { say $line_out; $line_out = $_; } } say $line_out; __DATA__ .06669701$-.1672469$.02157899$.0346167$.65879324$.91614802$.45012441$r +s11080516 [... I have abbreviated your data for this post ...]
Well, fishmonger's solution is obviously simpler and better in this case, but I wanted to show how you could have proceeded, and this technique of deferred printing can be useful in many more complicated cases where redefining the input record separator would not solve the problem.$ perl overlapping_lines.pl .06669701$-.1672469$.02157899$.0346167$.65879324$.91614802$.45012441$r +s11080516 -.05563282$-.00141932$.00036263$.00035752$.00541792$.00345471$.9269254 +3$rs11080530 -.00042649$-.00475721$.00167316$.00182299$.99057815$.90393977$.6990673 +3$rs11080537 .10901125$.0361255$.02148475$.00853908$.74113541$.45908988$.68361003$r +s11080542 -.03866776$-.05004879$.00185491$.00145606$.38131545$.36141448$.1755140 +3$rs11080557 -.004521$.01312692$.00033174$.00070174$.77873394$.88615378$.63499741$r +s1108056 .0339248$.02398934$.00276444$.00303152$.80478053$.55026576$.67512938$r +s11080561
In reply to Re: append data to previous line
by Laurent_R
in thread append data to previous line
by Anonymous Monk
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |