in reply to split with '|'
What follows is an alternative which is probably faster than the OP's due to the lack of lists and arrays:
$au = 'PAUL A. HUBBARD,<SUP>1</SUP>' .' WENFENG YU,<SUP>2</SUP>' .' HORST SCHULZ,<SUP>2</SUP>' .' JUNG-JA P. KIM<SUP>1</SUP>'; $au =~ s{,((?:<SUP>.*?</SUP>)?)\s*} {$1</contributor>\n<contributor>}g; $au = "<contributor>$au</contributor>\n"; print($au); __END__ <contributor>PAUL A. HUBBARD<SUP>1</SUP></contributor> <contributor>WENFENG YU<SUP>2</SUP></contributor> <contributor>HORST SCHULZ<SUP>2</SUP></contributor> <contributor>JUNG-JA P. KIM<SUP>1</SUP></contributor>
So far, I've always found that split with a capture in the pattern is at least as easy to implement as a straight regexp.
Updated.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: split with '|'
by Anonymous Monk on Apr 22, 2005 at 06:02 UTC | |
by ikegami (Patriarch) on Apr 22, 2005 at 06:22 UTC | |
by Anonymous Monk on Apr 22, 2005 at 06:31 UTC |