Codes sources Perl

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

    Comment convertir un fichier Excel en fichier csv ou txt ?

    Licence : Gratuit - 31/05/2011 - Téléchargé 7 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 connaitre le nom et l'ip d'une machine en perl ?

    Licence : Gratuit - 31/05/2011 - Téléchargé 2 x
    Pas de secret, le CPAN contient ce qu'il faut. Utilisez les modules Sys::Hostname et Socket déjà présent dans le CORE de perl.

    Comment faire un sleep de moins d'une seconde ?

    Licence : Gratuit - 31/05/2011 - Téléchargé 1 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 récupérer (proprement) les séquences d'un fichier fasta ?

    Licence : Gratuit - 31/05/2011 - Téléchargé 1 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

    Est-il possible de récupérer des sous-séquences d'un alignement ?

    Licence : Gratuit - 31/05/2011 - Téléchargé 1 x
    Le module Bio::AlignIO permet de récupérer et d'analyser les séquences une à une en gardant les positions des gaps. On peut donc aussi récupérer un bloc de sous-séquences en gardant leur alignement, mais également obtenir la séquence consensuelle de cet alignement.

    file.fsa

    >A1/1-60
    GATACCAGCGGGATCATTATGCCACATTCTGATCTTGGACCTGCATTATAGATCTGACTT
    .
    >A2/1-57
    ..TACCAGCGGGATCATTATGC.ACATTCTGATCTTGGACCTGCATTATAGATCTGACTT
    .
    >B1/1-55
    GATACCAGCGGGATCATTATGCCACATTCTGATCTTGGACCTG....ATAGATCTGACT.
    .
    >C1/1-60
    GATACCAGCGGGATCATTATGCCACATTCTGATCTTGGACCTGCATTATAGATCTGACTT
    .
    >C2/1-60
    GATACCAGCGGGATCCTTATGCCACATTCTGATCTTGGACCTGCATTATAGATCTGACTT
    .
    >B2/1-61
    GAT ... Voir la suite

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

    Licence : Gratuit - 31/05/2011 - Téléchargé 1 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é 1 x
    L'utilisation des expressions régulière est plus appropriée.

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

    Licence : Gratuit - 31/05/2011 - Téléchargé 1 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

    Comment calculer le nombre de jours et/ou semaines entre deux dates ?

    Licence : Gratuit - 01/07/2011 - Téléchargé 1 x
    Vous souhaitez connaitre le nombre de jours (ou le nombre de semaines) entre deux dates, utilisez le module Date::Calc.

    Connaitre une date vieille ou futur

    Licence : Gratuit - 31/05/2011 - Téléchargé 1 x
    Exemple de script permettant de connaitre :

    la date d'aujourd'hui
    la date dans 6 jours
    la date 48 jours avant aujourd'hui
    la date 2 ans et 6 mois avant aujourd'hui
    la date de demain

    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 lister les adresses emails d'un fichier

    Licence : Gratuit - 30/06/2011 - Téléchargé 1 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é ?

    Comment fusionner plusieurs fichier "csv" en un fichier Excel avec onglets ?

    Licence : Autre - 29/11/2011 - Téléchargé 1 x
    J'ai cherché sur internet pour faire cela mais sans succès. J'ai adapté ce que j'ai trouvé ici et là pour faire ce petit script (Je suis niveau débutant)

    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é 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 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 ?

    Comment tester la validité d'une adresse électronique ?

    Licence : Gratuit - 31/05/2011 - Téléchargé x
    Pour tester la validité d'une adresse électronique, inutile de s'acharner à trouver la bonne expression régulière. Il existe des modules perl le faisant pour nous proprement.

    Voici un exemple de codes utilisant des modules différents Email::Valid et Mail::CheckUser.

    Comment transposer un fichier tabulé ?

    Licence : Gratuit - 31/05/2011 - Téléchargé x
    Si vous souhaitez transposer un fichier tabulé, c'est à dire que les lignes de votre fichier deviennent des colonnes, voici une procédure qui peut vous aider.

    Comment récupérer une date aléatoire entre deux dates données ?

    Licence : Gratuit - 31/05/2011 - Téléchargé x
    Comme DateTime est le module préconisé, mais qu'il n'est pas disponible dans le Core, alors que POSIX l'est, il me semble que c'est une bonne alternative pour des utilisations "limitées".

    Le code ci-dessous est compatible avec des machines acceptant des entiers sur 32 bits. Il utilise mktime et localtime.

    Attention toutefois sur les machines 32 bits, les dates limites utilisables sont de 1904 à 2038. Pour utiliser des dates en dehors de cette plage, il faut s'en remettre aux modules spécialisés comme DateTime.

31 éléments

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