How to divide up?

Giorgos Keramidas keramida at
Sun Jul 20 02:03:29 UTC 2008

On Sun, 20 Jul 2008 03:44:07 +0300, Giorgos Keramidas <keramida at> wrote:
> Now, if you want to merely "hack something quick and dirty", a short
> Perl script can probably do regexp substitution similar to
>         #
>         #
>         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>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,

More information about the freebsd-questions mailing list