J'ai fait ce petit script et ça passe : #!/usr/bin/perl -w $ip="192.168.50.31"; while (<>) { if ( $_ =~ m{\s+(.*?).*$ip.*}i ) { print "It works\n"; } }
Nommer le script essai.pl et lancer la commande : #echo "poly1/poly1 192.168.50.31 D 255.255.255.255 5060 Unmonitored" | ./essai.pl On dirait que le problème vient de la détection du slash. Le mercredi 30 mars 2005 à 18:28 +0200, Rémi Letot a écrit : > 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, -- Christophe Monniez <[EMAIL PROTECTED]> or <[EMAIL PROTECTED]> Web site : http://www.d-fence.be #cat /dev/mouth | grep "^[[:truth:]]" "Of course, the best way to get accurate information on Usenet is to post something wrong and wait for corrections" -- Matthew Austern -- _______________________________________________________ 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