Bonjour a tous, bon je commence par m'excuser parceque j'ai pas trouvé l'info sur le forum bien que je suis sur qu'elle y soit.

Bref je commence tout juste en perl et j'avous que ce language est vraiment formidable.

Donc voila je me suis donné la lourde tache de migrer tout les scripts de mon entreprise qui etaient en ksh / csh / sh en perl.

J'ai donc commencé par le plus simble mais je bloque déjà; je m'explique :

J'ai un fichier texte formater comme ce qui suit :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
 
user::group::rep
user1::groupe1::rep1
....
usern::groupen::repn
Je dois donc traiter ce fichier et forcer des permissions en fonction de ce fichier.

Donc j'ai fait ca mais biensur ca ne marche pas :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
 
#/usr/bin/perl
 
 
# Ouverture du fichier list-fix-rep.txt
open LISTE, "</nas/install/blablabla/liste"
     or die "Erreur lors de la lecture du fichier : ($!)";
while (<LISTE>) {
@GRP = ??
}
 
#La fonction defined vérifie que la valeur de retour n'est pas undef,
#valeur qui est renvoyé si l'user ou le groupe demandé n'existe pas
#la fonction chown doit etre obligatoirement utilisé avec l'uid, pour contourner
#le pb on utilise les fcts getpwnam et getgrnam qui retourn l'uid/gid
defined (my $utilisateur = getpwnam "redac")
         or die "l utilisateur n existe pas";
defined (my $groupe = getgrnam "a0xao021")
         or die "le groupe specifie n existe pas";
 
chmod 0755, @LISTE_REP;
 
print 'system "chgrp -R $groupe @LISTE_REP"\n';
 
close LISTE;
bref en fait je bloque par par l'ecriture du code (bienque ...) mais surtout par la logique.

Si quelqu'un aurait l'amabilité de m'aider dje lui en serait reconnaisent