Bonjour,
J'ai un petit soucis dans l'utilisation d'une expression régulière.
En entrée, je possède une ligne d'un fichier de configuration (samba en l'occurence).
L'idée est de séparer la zone de gauche de ma ligne, de celle de droite.
La séparation est représentée par le signe "=".
Exemple :
workgroup = domaine1
Jusque là, pas de problèmes. J'ai utilisé cette expression ci et tout semble fonctionner à merveille :
$smb[$j] =~ /(.+)=(.+)/;
my $section = $1;
my $valeur = $2;
section me donne > workgroup
valeur me donne > domaine1
En revanche, je ne m'en sors pas lorsque je dois traiter la ligne suivante :
ldap admin dn = uid=sambamgr,o=test,c=fr
Du fait de la présence de plusieurs signes "=", l'expression me renvoi des valeurs erronées :
section me donne > ldap admin dn = uid=sambamgr,o=test,c
valeur me donne > fr
J'aimerais pouvoir créer une expression qui ne traite que le premier signe "=" rencontré.
Ainsi je souhaiterais obtenir pour le second exemple :
section > ldap admin dn
valeur > uid=sambamgr,o=test,c=fr
Si quelqu'un pouvait m'aider ou au moins me mettre sur la voie ce serait très sympa.
Je vous remercie par avance.
Partager