On Wed, 2004-05-19 at 15:52, Graf Laszlo wrote:
> Hi

Hi

> I have the following HTML structure:
> 
> <sm:a>
>       <sm:b>
>               BBB
>       </sm:b>
>       <sm:c>
>               CCC
>       </sm:c>
> </sm:a>
> 
> Every line in this structure is an element of an array,
> named @lines, and I access the elements using a foreach loop.
> 
> When I know the tag's name, by example 'sm:a',
> and I need to extract the information contained by '<sm:a>'
> and '</sm:a>' pair and the tags too, how should I proceed ?
> I tried a regexp like this:
> 
> foreach $s (@lines) {
>     print "$s";
>     if($s =~ m|^(<sm:a>\\n)(.*?)(\\n<\/sm:a>)$|s){
>        ($l,$c,$r) = ($1,$2,$3);
>        print "OK\n";
>        print "l: '$l'\n";
>        print "c: '$c'\n";
>        print "r: '$r'\n";
>     }else{
>        print "HEHE\n";
>     }
> }

The problem is that your expression is supposed to be applied to the
whole text, but you're applying it to each line at a time.

Try this:

for (@lines) {
  if ( /<sm:a>/ .. /<\/sm:a>/ )
  {
    print
  }
}

> Help me. Thank you.

HTH,

jac

-- 
Josà Alves de Castro <[EMAIL PROTECTED]>
Telbit - Tecnologias de InformaÃÃo


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>


Reply via email to