bonjour,=20
j'ai une liste d'utilisateur du type suivant nomm=E9 "utilisateurs.txt": lo=
gin,group,/home donc concr=E9tement jai des s=E9quences du type:
Chaque champs =E9tant s=E9par=E9 par une virgule, j'ai donc voulu faire un =
script en perl pour automatiser tout ca mais je n'arrive pas =E0 faire le s=
cript pour parcourir le fichier et en extraire le login pour pouvoir ensuit=
e comparer au fichier /etc/passwd de mani=E8re a savoir si l'utilisateur ex=
iste ou non pour pouvoir le cr=E9er.
Voici mon code meme si il est cour:
#!/usr/bin/perl -w
open (FILEHANDLE, "<utilisateurs.txt") or die ("Impossible d'ouvrir utilisa=
teurs.txt");
while (<FILEHANDLE>)
{
@list =3D split(/,/, <FILEHANDLE>);
foreach $mot (@list) {
print $mot."\n";
}
}
close (FILEHANDLE);
Chaque champs étant séparé par une virgule, j'ai donc voulu faire u n 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 ensu ite 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 utili sateurs.txt");
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 |/ |__________________________________________________/
--=-ZrbxmPrjN/GATluLTYe2 Content-Type: application/pgp-signature; name=signature.asc Content-Description: Ceci est une partie de message =?ISO-8859-1?Q?numériquement?= =?ISO-8859-1?Q?_signée? -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux)
Chaque champs étant séparé par une virgule, j'ai donc voulu faire u n 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 ensu ite 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 utili sateurs.txt");
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 |/
|__________________________________________________/
--=-ZrbxmPrjN/GATluLTYe2
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: Ceci est une partie de message
=?ISO-8859-1?Q?numériquement?= =?ISO-8859-1?Q?_signée?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
Chaque champs étant séparé par une virgule, j'ai donc voulu faire u n 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 ensu ite 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 utili sateurs.txt");
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 |/ |__________________________________________________/
--=-ZrbxmPrjN/GATluLTYe2 Content-Type: application/pgp-signature; name=signature.asc Content-Description: Ceci est une partie de message =?ISO-8859-1?Q?numériquement?= =?ISO-8859-1?Q?_signée? -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (GNU/Linux)
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");
Ces jours-ci on essaie d'utiliser des variables:
open $file, "utilisateurs.txt" or ...
while (<FILEHANDLE>) { @list = split(/,/, <FILEHANDLE>); foreach $mot (@list) { print $mot."n"; } } close (FILEHANDLE);
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");
Ces jours-ci on essaie d'utiliser des variables:
open $file, "utilisateurs.txt" or ...
while (<FILEHANDLE>)
{
@list = split(/,/, <FILEHANDLE>);
foreach $mot (@list) {
print $mot."n";
}
}
close (FILEHANDLE);
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");
Ces jours-ci on essaie d'utiliser des variables:
open $file, "utilisateurs.txt" or ...
while (<FILEHANDLE>) { @list = split(/,/, <FILEHANDLE>); foreach $mot (@list) { print $mot."n"; } } close (FILEHANDLE);