Thank you for using code tags. There is absolutely no need to bring Excel into this process. If I understand correctly, here's what you want to do (in pseudo-code):
while ( reading from the input file yields a line of data ) {
if ( the line begins with "RS," ) {
replace the newline character(s) at the end of the line with a c
+omma
save this line in a variable called $line_out
}
elsif ( the line begins with "RAd," ) {
replace the final newline character(s) with a comma (just like a
+bove)
append this line to $line_out
}
elsif ( the line begins with "RC," ) {
print $line_out with the current line appended to it.
}
}
Rendering that in actual perl syntax is pretty simple, and will be less verbose than what I've shown. Let us know if you have a problem with that step.
UPDATE: I added a more specific condition to get into the third block (for printing output), and I added commas to the regex-match conditions for all three blocks, just to be "safe".
Another update: I didn't intend to be obtuse - here's what I meant in actual perl code:
use strict;
use warnings;
my $line_out;
open ( MOV, "<", "test.cxv" ) or die "test.csv: $!\n";
while (<MOV>) {
if ( /^RS,/ ) {
s/\s+$/,/;
$line_out = $_;
}
elsif ( /^RAd,/ ) {
s/\s+$/,/;
$line_out .= $_;
}
elsif ( /^RC,/ ) {
print $line_out . $_;
}
}
|