Perl: mot entre parenthèses

Fermé
Gux - 10 janv. 2010 à 16:05
 Gux - 11 janv. 2010 à 19:54
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 ?
A voir également:

2 réponses

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
Que dire ? juste merci !
1