On Wed, 2005-03-30 at 18:28 +0200, Rémi Letot wrote:
> Hello,
> 
> pour le background de l'affaire, il faut savoir que je ne suis pas un
> programmeur, et encore moins en perl :-) J'ai trouvé un petit script
> perl qui me permet de rebooter à distance des téléphones IP que
> j'utilise. Ce script ne fonctionnait pas, et j'ai fini par isoler la
> portion du code qui ne fait pas ce qu'elle doit :
> 
> if ( $testline =~ m{\s+(.*?)\/.*$_[0].*}i ) {
>             $extension = $1;
> 
> Ce bout de code est dans une procédure qui prend l'adresse ip du
> téléphone en argument, et les "testline" sont du format suivant : 
> 
> poly1/poly1      192.168.50.31    D          255.255.255.255  5060
> Unmonitored
> 
> Dans cet exemple, le paramètre passé à la procédure est 192.168.50.31,
> et extension en sortie doit valoir poly1.
> 
> Visiblement la condition if n'est jamais validée (j'ai placé un print
> dedans qui ne passe jamais), mais je n'ai pas la moindre idée de ce que
> représente ce patern, et encore moins de comment aborder ce truc.
> Quelqu'un peut m'aider ou me mettre dans la bonne direction ?
> 
> Merci,


Apparemment la RE à l'air OK à un + près. Est-ce que les testline
commencent par des espaces parce que \s+ demande un espace ou plus.
Peut-être le remplacer par \s* ?


_______________________________________________________
Linux Mailing List - http://www.unixtech.be
Subscribe/Unsubscribe: http://www.unixtech.be/mailman/listinfo/linux
Archives: http://www.mail-archive.com/linux@lists.unixtech.be
IRC: chat.unixtech.be:6667 - #unixtech
NNTP: news.gname.org - gmane.org.user-groups.linux.unixtech

Répondre à