Mise en oeuvre de twfadmin.pl

Prérequis :

Avoir Perl installé sur votre machine. Si vous utilisez Linux, il y a toutes les chances que ce soit déjà fait, Perl est compris dans toutes la majorité des distributions.

Principe :

Perl étant aussi orienté object, de nombreux modules sont développés par la communauté. Il est evidemment conseillé de les utiliser pour limiter la taille de ses scripts et ne pas réinventer la roue qui tourne déjà.

Ils sont distribués soit :

  • Sur le CPAN (sité dédié au dépot des modules Perl).
  • Dans les paquets de votre distribution si quelqu'un a pris le temps de les empaqueter.

Les modules utilisés sont spécifiés dans la toute première partie du script.

use strict;
use warnings;
use Net::Twitter::Lite;
use Data::Dumper;
use XML::Simple;
use List::Compare;
# use Pod::Usage;

Certains d'entre eux sont déjà présents avec le core de Perl.

Vérification de la présence des modules.

Soit :

  • Avec la commande:
[toto@machine-a-toto ~]$ perl -MNet::Twitter::Lite -e '1'
Can't locate Net/Twitter/Lite.pm in @INC (@INC contains: /usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl5 /usr/share/perl5 /usr/local/lib/perl5/site_perl/5.10.0/i386-linux-thread-multi /usr/local/lib/perl5/site_perl/5.10.0 /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl /usr/lib/perl5/site_perl .).
BEGIN failed--compilation aborted.

Test du module Net-Twitter-Lite ci-dessus. C'est clair, il n'est pas la.

Si le module est présent, la commande se termine sans autre chose que de renvoyer un code retour 0.

 

  • En lançant le script:
[toto@machine-a-toto twfadmin]$ ./tfollow.pl
Can't locate Net/Twitter/Lite.pm in @INC (@INC contains: /usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl5 /usr/share/perl5 /usr/local/lib/perl5/site_perl/5.10.0/i386-linux-thread-multi /usr/local/lib/perl5/site_perl/5.10.0 /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl /usr/lib/perl5/site_perl .) at ./tfollow.pl line 24.
BEGIN failed--compilation aborted at ./tfollow.pl line 24.

Même punition. Cette méthode est plus hazardeuse car suivant le script utilisé, il pourrait avoir déjà effectué des actions.

Installation des modules.

Bon, ça commence mal, pour ne pas s'embarasser de nombreuses dépendances (Moose en l'occurence), j'ai choisi d'utiliser la version "Lite" du module. Net-Twitter.

Il y a peu de chances de la trouver en paquet et dans sa dernière version.

L'install devra donc se faire avec l'aide du module CPAN.

Je me penche dès à présent sur l'intégration de Net::Twitter dans sa version complète. Elle est plus facilement trouvable dans les dépots.

La dernière version du module :

Net-Twitter-3.18002 A perl interface to the Twitter API [Download] [Browse] 24 Apr 2012

Est disponible pour Fedora 15,16,17

Ne vous privez pas :

[toto@machine-a-toto twfadmin]$ yum install perl-Net-Twitter

Reproduire cette action pour les autres modules nécessaires.

 

Installation manuelle par le CPAN

Il et toujours préférable d'installer des composants à l'aide des outils de gestion standarts de sa machine (rpm,yum, apt).

Cependant, quand on a pas le choix ou le temps de produire ses propres paquets, on peut avoir recours au modules dédiés au produit.

Le module de mise à jour de Perl est nommé CPAN. Comme pour Latex (CTAN), il n'est plus forcément inclus dans le paquet de base Perl.

Les dépendances sont bien entendu gérées par le module.

Installer le module CPAN
[toto@machine-a-toto twfadmin]$ yum install perl-CPAN
Installer Net-Twitter
[toto@machine-a-toto twfadmin]$ perl -MCPAN -e 'shell'

Si c'est votre première fois, appuyez sur entrée un bon nombre de fois. Si vous êtes curieux, lisez, et répondez correctement.

Pour plus d'infos sur l'utilisation du module CPAN : Allez voir ailleurs cheeky

  • Vérification du module et de sa version:

cpan[1]> i Net::Twitter
Module id = Net::Twitter
    CPAN_USERID  MMIMS (Marc Mims <mmims@cpan.org>)
    CPAN_VERSION 3.18002
    CPAN_FILE    M/MM/MMIMS/Net-Twitter-3.18002.tar.gz
    INST_FILE    (not installed

 

  • Installation :

 

 

 

Installation du script

Rappatriez le script sur votre machine et assurez vous de lui donner les droits d'exécution.