Perl: mot entre parenthèses

Gux -  
 Gux -
Bonjour,

Voilà, j'ai des fiches a analysé:
$phrase = "lancement: 2006 (Allemagne) (France) ";

cette phrase peut changer
$phrase = "lancement: 01/05/2007 (Japon) ";

comment faire pour récupérer le contenu de toute les parenthèses ?
pour le moment je ne récupère que la phrase avec une seule parenthèse:

$phrase =~ s|lancement: (.*) \((.*?)\) |<item_pays>$2</item_pays>|gms;

Comment mettre une condition dans ce regexp ?
Configuration: Linux
Firefox 3.5.7

2 réponses

  1. lami20j
     
    Salut,

    lami20j@debian-acer:~$ cat phrase.pl 
    #!/usr/bin/perl
    use strict;use warnings;
    while(<DATA>){
      next if /^$/;
      next unless /lancement/;
      while(/\(([^)]*)\)/g){
        print "<item_pays>$1</item_pays>\n";
      }
    }
    __END__
    lancement: 2006 (Allemagne) (France)
    lancement: 01/05/2007 (Japon) 
    lami20j@debian-acer:~$ perl phrase.pl
    <item_pays>Allemagne</item_pays>
    <item_pays>France</item_pays>
    <item_pays>Japon</item_pays>
    lami20j@debian-acer:~$ 
    1