in reply to Matching a pattern in Regex
This is a good use for the /e option on the substitution operator.
use strict; use warnings; $_ = <DATA>; if (/<figr n="/) { s[<figr n="(\d+)">(.*?)</figr>] [qq(<FIGIND NUM="$1" ID="FG.) . sprintf('%03d', $1) . qq(">$2</FIGI +ND>)]eg; } print; __DATA__ Nerve cells come in many shapes and sizes, but they all have a number +of identifiable parts. A typical nerve cell is shown in <figr n="1">F +igure 1</figr>. Like all other cells in the body, it has a nucleus th +at contains genetic information.<figr n="2">Figure 2</figr>. The cell + is covered by a membrane and is filled with a fluid.
"The first rule of Perl club is you do not talk about
Perl club."
-- Chip Salzenberg
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Matching a pattern in Regex
by Ieronim (Friar) on Jul 25, 2006 at 10:40 UTC | |
by davorg (Chancellor) on Jul 25, 2006 at 10:45 UTC |