http://qs1969.pair.com?node_id=1152564


in reply to looping with conditions and print newline

You didn't show us the parser code that produces $line[0]. The best place for this would be in the parser.

However, here is a quick fix to preprocess the text file while reading it. (I am assuming you read it line by line):

while (my $line = <$fh>) { if ($line =~ tr/"//) { # This block will be executed if there is exactly one double-quote + in the line while (1) { my $nextline = <$fh>; die unless defined $nextline; $nextline =~ s/^\s+/ /; # remove indent $line .= $nextline; # join lines break if ($nextline =~ tr/"//) % 2 == 1; } } # now parse the $line just like you would normally do using the code + that you did not show us ;-) parse_line(); }