<br><div class="gmail_quote">On Mon, May 28, 2012 at 11:51 AM, Peter Vereshagin <span dir="ltr"><<a href="mailto:peter@vereshagin.org" target="_blank">peter@vereshagin.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div id=":2s3">AS> >> perl -ne 'print $2 . ", ". $1. "\n" while(/.../)'<br>
AS> >><br>
AS> >> But I really can't work out the rest now.<br>
AS> >> Please help.<br>
<br>
Sure.<br>
<br>
perl -Mstrict -wE 'my ( $blob, $fname, $lname ) = map {""} 0 .. 2; while ( my $str = <> ) { $blob .= $str; if ( $blob =~ m/<(first|last)-name[^>]*>([^>]*)</ ) { my ( $kind => $name ) = ( $1 => $2 ); $name =~ s/^\s+|\s+$//g; if ( $kind eq "first" ) { $fname = $name; } else { $lname = $name; }  $blob = ""; } if ( $fname and $lname ) { print "$lname, $fname\n"; ( $fname => $lname ) = map {""} 0 .. 1; } }'<br>
</div></blockquote></div><br><div>Thank you Peter for your reply. </div><div><br></div><div>I think the reason that your script is far more complicated than what I thought is because that you are handling one line at a time. I believe that if we to slurp the whole file in and have '.' match new lines as well, it can be greatly simplified. </div>
<div><br></div><div>Again, I don't have my "perl notes" at hands, so I can't prove it now. </div><div><br></div><div>Thanks anyway. </div><div><br></div>