Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 20 Jul 2008 05:03:15 +0300
From:      Giorgos Keramidas <keramida@ceid.upatras.gr>
To:        Gary Kline <kline@thought.org>
Cc:        FreeBSD Mailing List <freebsd-questions@freebsd.org>
Subject:   Re: How to divide up?
Message-ID:  <87mykde2ho.fsf@kobe.laptop>
In-Reply-To: <878wvxfkq0.fsf@kobe.laptop> (Giorgos Keramidas's message of "Sun, 20 Jul 2008 03:44:07 %2B0300")
References:  <20080720002345.GA9173@thought.org> <878wvxfkq0.fsf@kobe.laptop>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, 20 Jul 2008 03:44:07 +0300, Giorgos Keramidas <keramida@ceid.upatras.gr> wrote:
> Now, if you want to merely "hack something quick and dirty", a short
> Perl script can probably do regexp substitution similar to
>
>         #
>         # WARNING: THIS HAS NOT BEEN TESTED :P
>         #
>         my $foo = <STDIN>;
>         $foo = s:(<[^>]+>[^<]*</[^>]+>):$1\n:ge;
>         print "$foo";
>
> but you shouldn't trust the output of such a quick hack too much.

As I wrote in reply to the personal email, this was untested and a bit
wrong in places, but now I've tried something like:

  $ echo '<hello>world</hello><hello>next world</hello>' | \
  perl -e '$foo = <STDIN>; $foo =~ s:(<[^>]+>[^<]*</[^>]+>):$1\n:g; print "$foo";'

and it does seem to sort of work.  The output is:

  <hello>world</hello>
  <hello>next world</hello>

Maybe that's good enough?  They say `the perfect is the enemy of good
enough', so if this works for your data set, it's probably ok to use it :-)

Have fun,
Giorgos




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?87mykde2ho.fsf>