Codes sources Perl

Les codes sources Perl téléchargeables. N'hésitez pas en rajouter.
Ajouter un nouvel élément

    Comment récupérer (proprement) les séquences d'un fichier fasta ?

    Licence : Gratuit - 31/05/2011 - Téléchargé 6 x
    Le but est de récupérer les identifiants et leur séquence une à une de façon simple et rapide grâce au module Bio::SeqIO. Fichier d'entrées :
    test.txt

    >A1
    GATACCAGCATCGTACGTCGTACGTACGTAGGGATCATTATGCCACATTCTGATCTTGGACCTGCATTATAGATCTGACTT
    >A2
    TACCACCCGATCTCGCATCGTCATGTGCGGGATCATTATGCACATTCTGATCTTGGACCTGCATTATAGATCTGACTT
    >B1
    GATACCAGCGGGATCATTATGCCACATTCTGATCTTGGACCTGATAGATCTGACT
    >B2
    GATACCAGCCACTTCTGACGATCGATCGATATTATAAAAGGATCATTATGCCACATTCTGATCgTGGACCTGCATTATAGATCTGCCCTT
    >C1
    GATACCAGCGGGATCATTATGCCACATTCTGATCTTGGACCTGCATTATAGATCTGACTT
    >C2
    GATACCAGCGGGATCCTTATGCCACATTCTGATCTTGGACCTGCATTATAGATCTGACTT

    Résultat

    >A1
    GATACCAGCATCGTACGTCGTACGTACGTAGGGA ... Voir la suite

    Comment fusionner plusieurs classeurs Excel d'un répertoire en un unique fichier ?

    Licence : Gratuit - 31/05/2011 - Téléchargé 4 x
    Ce code vous permettra de fusionner plusieurs classeur Excel (xls, xlsx) en un unique fichier Excel (xls). Il copie toutes les feuilles des différents classeurs dans un seul fichier. Le seul inconvénient est qu'il ne garde pas les noms des feuilles mais en génère automatiquement (feuille1, 2, 3, ...) et les formats des cellules ne sont pas conservés.

    Vous aurez besoin d'installer les modules

    Spreadsheet::ParseExcel
    Spreadsheet::XLSX
    Spreadsheet::WriteExcel

    Les modules Getopt::Long et Pod::Usage sont dans le core de Perl.



    Pour savoir comment lancer le programme, faites

    perl nom_programme.pl -help

    ou

    perl nom_programme.pl -man

    Vérification de date de création d'un fichier et suppression si vieux d'un mois.

    Licence : Autre - 28/08/2012 - Téléchargé 2 x
    Ce script va permettre de lister des fichiers dans un dossier.
    Il va ensuite récupèrer les dates de création du fichier, formater le format de la date.
    Les dates seront ensuite comparées à la date actuelle.
    Les fichiers vieux d'un mois seront supprimés.

    Comment trouver le nombre d'occurrence d'un motif dans une chaine ?

    Licence : Gratuit - 31/05/2011 - Téléchargé 2 x
    Il y a 4 "e" dans $phrase

    =()= est ce qu'on appelle en Perl un goatse, pas toujours connu du grand public.

    En fait, c'est l'usage de l'opérateur d'affectation à une liste vide qui permet d'évaluer l'expression régulière dans un contexte de liste et dont le résultat est affecté à $count. Or la valeur de retour d'une affectation de liste évaluée dans un contexte de scalaire retourne le nombre d'élément contenu dans la rvalue de cet opérateur d'affectation, donc le nombre d'élément capturé par l'expression régulière.

    Comment mettre la première lettre de tous les mots d'une chaine en majuscule ou minuscule ?

    Licence : Gratuit - 31/05/2011 - Téléchargé 2 x
    L'utilisation des expressions régulière est plus appropriée.

    Comment tourner de 90 degrés ou autres toutes les pages d'un fichier au format PDF

    Licence : Gratuit - 15/06/2011 - Téléchargé 1 x
    Il peut être utile de devoir tourner un certain nombre de degrés les pages d'un PDF. Hors, tout le monde ne dispose pas d'Adobe Pro ou tout autre logiciel payant pour le faire.
    Voici un programme perl qui le fera pour vous aisément. Il utilise le module PDF::API2.

    Voici le mode d'emploi du programme :
    • perl programme.pl -i input_pdf -o output_pdf -r 90
    • perl programme.pl -i input_pdf -o output_pdf -r 45
    • ...



    Convertir un code couleur RGB ou RVB en hexadécimal en Perl

    Licence : Gratuit - 20/05/2013 - Téléchargé 1 x
    Voici un code Perl qui permet de convertir un code RVB ou RGB (pour les anglais) en hexadécimal 6-digits.

    Convertir un code couleur hexadécimal en RVB ou RGB en Perl

    Licence : Gratuit - 23/04/2014 - Téléchargé 1 x
    Voici un code Perl qui permet de convertir un code hexadécimal 3-digits ou 6-digits en code RVB ou RGB (pour les anglais).

    Comment récupérer une page Web ?

    Licence : Gratuit - 31/05/2011 - Téléchargé 1 x
    Voici un script permettant de récupérer le contenu d'une page Web et l'afficher sur la sortie standard STDOUT. Il y a la possibilité de spécifier un proxy HTTP. Ainsi qu'un login pour les connexions HTTP (autorisation de base).

    Comment convertir un fichier Excel en fichier csv ou txt ?

    Licence : Gratuit - 31/05/2011 - Téléchargé 1 x
    Le code ci-dessous permet de convertir un fichier excel 2007 (ou antérieur) en fichier txt, csv ou autre fichier plat.

    Le choix du séparateur est laissé à l'utilisateur.
    Si l'on on précise un répertoire, le fichier convertit sera créé dans ce dernier, sinon, il sera créé dans le même répertoire que le fichier excel.
    On peut choisir de convertir toutes les feuilles ou non du fichier excel en mettant -feuilles à 1 => tout sera convertit, ou à 0 et dans ce cas, à chaque feuille une confirmation sera demandée.

    Attention : Nous avons utilisé ici la méthode print {$fh} $oWkC->Value, $Separateur;

    Mais cette méthode peut nous générer des erreurs inattendues :
    explication documentation o ... Voir la suite

    Comment comparer plusieurs tableaux entre eux ?

    Licence : Gratuit - 31/05/2011 - Téléchargé 1 x
    Il arrive que l'on ait besoin de comparer 2 listes perl entre elles afin d'obtenir les données communes aux deux listes, les données présentes dans une liste mais pas dans l'autre ... Pas besoin de reinventer la roue, il existe un module sur le CPAN qui le fait très bien, c'est List::Compare. Voici un exemple de code :

    Comment récupérer proprement les arguments de la ligne de commande ?

    Licence : Gratuit - 30/06/2011 - Téléchargé x
    Lorsque vous souhaitez appeler vos scripts perl via une console DOS ou Linux (ou Unix), vous avez souvent besoin de passer des arguments. La manière classique pour les récupérer est d'utiliser la variable @ARGV. Sachez qu'il existe un module perl nous permettant de gérer ces arguments proprement et facilement. Ce module est de plus déjà installé dans le core de perl, c'est le module en Getopt::Long. Le code à télécharger ci-dessous nous permet de taper en ligne de commande perl script.pl -name djibril -fichier "C:\repertoire\fichier.txt" -fichier "D:\repertoire\fichier2.txt" -numero 2 -v.

    N.B. : Notez l'importance de protéger le chemin de vos fichiers par des guillemets, surtout s'il y a des espaces. Vo ... Voir la suite

    script de backup recursif sur FTP avec upload uniquement des fichiers nouveaux ou modifiés

    Éditeur : ramislebob +
    But: Backup automatique d'un dossier sur un site FTP comme l'hébergement mutualisé OVH.
    - Afin de minimiser les uploads, seuls les fichiers modifiers seront uploader.
    - Comme via ftp on ne peut pas avoir le mtdm (date de derniere modification) pour un dossier, utilisation d'une base de données simple afin de stocker les fichiers avec leur taille et le mtdm local.
    - Comme on ne peut pas accéder la base de donnée directement de l'extérieur par mesure de sécurité, utilisation d'un wrapper HTTP simple utilisant la methode POST.


    Base de donnée et les 2 tables:
    2 tables:
    - backup_folder: pour stocker les chemins globaux des répertoires (et utiliser un id pour la table des fichiers)
    - ... Voir la suite

    script de backup recursif sur FTP avec upload uniquement des fichiers nouveaux ou modifiés (sans probleme d'affichage?..)

    Éditeur : ramislebob +
    But: Backup automatique d'un dossier sur un site FTP comme l'hébergement mutualisé OVH.
    - Afin de minimiser les uploads, seuls les fichiers modifiers seront uploader.
    - Comme via ftp on ne peut pas avoir le mtdm (date de derniere modification) pour un dossier, utilisation d'une base de données simple afin de stocker les fichiers avec leur taille et le mtdm local.
    - Comme on ne peut pas accéder la base de donnée directement de l'extérieur par mesure de sécurité, utilisation d'un wrapper HTTP simple utilisant la methode POST.


    Base de donnée et les 2 tables:
    2 tables:
    - backup_folder: pour stocker les chemins globaux des répertoires (et utiliser un id pour la table des fichiers)
    ... Voir la suite

    Comment utiliser des noms de fichiers ou répertoires portables ?

    Licence : Autre - 15/03/2012 - Téléchargé x
    La meilleure solution est de toujours utiliser le module Perl File::Spec qui est disponible dans le core de Perl.
    Vous n'aurez plus besoin de vous soucier de la plateforme sous laquelle le programme tournera.

    Comment lister les adresses emails d'un fichier

    Licence : Gratuit - 30/06/2011 - Téléchargé x
    Ce code vous permet de lire un fichier passé en argument et liste les adresses emails s'y trouvant. Pour lancer ce programme, voici la commande à utiliser :
    perl test.pl -f fichier.txt

    Voilà, que pensez-vous de ce programme, vous a-t-il aidé ?

    Générer un arbre taxonomique sous freemind depuis la base NCBI

    Licence : GPL - 04/08/2015 - Téléchargé x
    Petit script pour générer le fichier freemind contenant les taxons indiqués en paramètre...

    Il faut une base mysql en local avec les données du NCBI .
    http://linnaeus.zoology.gla.ac.uk/~rpage/tbmap/downloads/ncbi/

    Comment faire un sleep de moins d'une seconde ?

    Licence : Gratuit - 31/05/2011 - Téléchargé x
    Pour faire un sleep de moins d'une seconde, il est recommandé d'utiliser le module Time::HiRes qui est disponible dans le core.
    Mais vous pouvez être encore beaucoup plus précis. A vous de jouer avec ce module très puissant.

    Comment désinstaller un module ?

    Licence : Gratuit - 31/05/2011 - Téléchargé x
    Sous Linux ou Mac OS, il n'existe aucun utilitaire permettant de désinstaller un module Perl. Donc, voici un script qui peut vous permet de le faire proprement.

    Comment raboter un texte trop long et ajouter 3 petits points ?

    Licence : Gratuit - 31/05/2011 - Téléchargé x
    Comment raboter un texte trop long et ajouter 3 petits points ?

31 éléments

Responsable bénévole de la rubrique Perl : djibril -