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,"<IN.txt");
while(<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 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"); }

docs/linuxeries/perl.txt · Dernière modification: 2013/03/12 15:29 (édition externe)
Recent changes RSS feed Debian Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki