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"); }