Le jeudi 17 mars 2005 à 17:28 +0100, Leenox a écrit : > bonjour, Coucou! > j'ai une liste d'utilisateur du type suivant nommé "utilisateurs.txt": login,group,/home donc concrétement jai des séquences du type: > > yoann,administrateur,/data/samba/home/yoann > teddy,developpeur,/data/samba/home/teddy > tibo,commercial,/data/samba/home/tibo > .... > etc > > Chaque champs étant séparé par une virgule, j'ai donc voulu faire un script en perl pour automatiser tout ca mais je n'arrive pas à faire le script pour parcourir le fichier et en extraire le login pour pouvoir ensuite comparer au fichier /etc/passwd de manière a savoir si l'utilisateur existe ou non pour pouvoir le créer. > Voici mon code meme si il est cour: > > #!/usr/bin/perl -w > > open (FILEHANDLE, "<utilisateurs.txt") or die ("Impossible d'ouvrir utilisateurs.txt"); > > while (<FILEHANDLE>) > { + chomp(); - @list = split(/,/, <FILEHANDLE>); + @list = split (/,/); > foreach $mot (@list) { > print $mot."\n"; > } > } > close (FILEHANDLE); > > Je suis bloqué a ce niveau.. Ce n'est pas le handle qu'il faut réinterroger, mais la variable $_ implicite ici dans la fonction split. De même, tu peux avantageusement améliorer ton code dans la boucle foreach: foreach (@list) { print $_ . "\n"; } > -- ----------------------------------------------------------------------- Ma clé GPG est disponible sur http://www.keyserver.net ----------------------------------------------------------------------- _____________________________________________________ | Protégez votre vie privée: | \|||/ | - Signez/chiffrez vos messages. __| q o - p | Respectez celle des autres: | / __mn__\_^_/_nm__| - Masquez les destinataires de vos mailings |/ |__________________________________________________/
Attachment:
signature.asc
Description: Ceci est une partie de message =?ISO-8859-1?Q?num=E9riquement?= =?ISO-8859-1?Q?_sign=E9e?=