Cette page est plus a considerer comme un bloc notes sur des choses que je passe mon temps a oublier en perl, et j'en ai marre de regarder les memes man pages... ====== Les libs pour le code propre ====== #!/usr/bin/perl use strict; use warnings; NB: le -w est 'deprecated' ====== L'exploitation des parametres ====== use Getopt::Std; my %opt; getopts( "fdugU:G:R:c:", \%opt ); # fdug sont des flags # UGRc attendent des parametres ====== Parsage simple d'XML ====== * ne pas oublier //apt-get install libxml-simple-perl// use XML::Simple; my $xml =""; my $i =0; open(FD,") { $xml.=$_; } close(FD); #XMLin doit recevoir tout le XML en un bloque my $ref = XMLin($xml,suppressempty => ''); #Voila comment il est simple d'acceder a un range de données precis ;) while(defined($ref->{'quotas'}{'quota'}[$i])) { ====== Récuperation de quelques info user courant ====== use POSIX qw(getgroups); my %groupes; #Un hash contenant les groupes de l'utilisateur en cours my $uid =$<; # Chargement du uid en cours foreach(getgroups()) { $groupes{$_}=""; } # Chargement les id des groupes de l'user en cour ====== Formattage des affichages ====== en fait on passe par la fonction [[http://perldoc.perl.org/functions/sprintf.html|printf]] my $frm_cible ="%-25s %-15s"; printf($frm_cible,"Cible","Directory"); if($opt{'d'}) { printf($frm_titre,"Disk","Usage","Soft","Limit"); } if($opt{'f'}) { printf($frm_titre,"File","Usage","Soft","Limit"); }