Codes sources Perl

Ajouter un nouvel élément

ang Comment convertir un fichier Excel en fichier csv ou txt ?

Licence : Gratuit
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 officielle
-------------------------------------------------------
value()

The value() method returns the formatted value of the cell.

my $value = $cell->value();

Formatted in this sense refers to the numeric format of the cell value.
For example a number such as 40177 might be formatted as 40,117, 40117.000 or even as the date 2009/12/30.

If the cell doesn't contain a numeric format then the formatted and unformatted
cell values are the same, see the unformatted() method below.

For a defined $cell the value() method will always return a value.

In the case of a cell with formatting but no numeric or string contents
the method will return the empty string ''.
-------------------------------------------------------

Pour éviter tout souci, utilisez plutôt la méthode unformatted.

print {$fh} $oWkC->unformatted, $Separateur;
Téléchargement :
Compatibilité :
Linux Mac Windows  

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

Licence : Gratuit
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
Téléchargement :
Compatibilité :
Linux Mac Windows  

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

Licence : Gratuit
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
  • ...



Téléchargement :
Compatibilité :
Linux Mac Windows  

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

Licence : Autre 2 Ko
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)
Téléchargement :
Compatibilité :
Linux Windows  

ang Comment récupérer une page Web ?

Licence : Gratuit
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).
Téléchargement :
Compatibilité :
Linux Mac Windows  

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

Licence : Gratuit
Comment raboter un texte trop long et ajouter 3 petits points ?
Téléchargement :
Compatibilité :
Linux Mac Windows  

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

Licence : Gratuit
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
GATACCAGCATCGTACGTCGTACGTACGTAGGGATCATTATGCCACATTCTGATCTTGGA
CCTGCATTATAGATCTGACTT
>A2
TACCACCCGATCTCGCATCGTCATGTGCGGGATCATTATGCACATTCTGATCTTGGACCT
GCATTATAGATCTGACTT
>B1
GATACCAGCGGGATCATTATGCCACATTCTGATCTTGGACCTGATAGATCTGACT
>B2
GATACCAGCCACTTCTGACGATCGATCGATATTATAAAAGGATCATTATGCCACATTCTG
ATCgTGGACCTGCATTATAGATCTGCCCTT
>C1
GATACCAGCGGGATCATTATGCCACATTCTGATCTTGGACCTGCATTATAGATCTGACTT
>C2
GATACCAGCGGGATCCTTATGCCACATTCTGATCTTGGACCTGCATTATAGATCTGACTT
Téléchargement :
Compatibilité :
Linux Mac Windows  

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

Licence : Gratuit
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
GATACCAGCCGGATCATTATGCCACATTCTGATCGTGGACCTGCATTATAGATCTGCCCT
T



Résultat

sequence consensus à 50%
GATACCAGCGGGATCATTATGCCACATTCTGATCTTGGACCTGCATTATAGATCTGACTT?

GGGATCATTATGCCACATTCTGATCTTGGACCTGCA
GGGATCATTATGC.ACATTCTGATCTTGGACCTGCA
GGGATCATTATGCCACATTCTGATCTTGGACCTG..
GGGATCATTATGCCACATTCTGATCTTGGACCTGCA
GGGATCCTTATGCCACATTCTGATCTTGGACCTGCA
CGGATCATTATGCCACATTCTGATCGTGGACCTGCA
Téléchargement :
Compatibilité :
Linux Mac Windows  

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

Licence : Gratuit
Vous souhaitez connaitre le nombre de jours (ou le nombre de semaines) entre deux dates, utilisez le module Date::Calc.
Téléchargement :
Compatibilité :
Linux Mac Windows  

ang Comment comparer plusieurs tableaux entre eux ?

Licence : Gratuit
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 :
Téléchargement :
Compatibilité :
Linux Mac Windows  

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

Licence : Autre
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.
Téléchargement :
Compatibilité :
Mac Symbian Windows  

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

Licence : Autre
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.
Téléchargement :
Compatibilité :
Linux Mac Windows  

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

Licence : Gratuit
Voici un code Perl qui permet de convertir un code RVB ou RGB (pour les anglais) en hexadécimal 6-digits.
Téléchargement :
Compatibilité :
Linux Mac Windows  

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

Licence : Gratuit
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).
Téléchargement :
Compatibilité :
Linux Mac Windows  

ang Comment faire un sleep de moins d'une seconde ?

Licence : Gratuit
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.
Téléchargement :
Compatibilité :
Linux Mac Windows  

ang Comment désinstaller un module ?

Licence : Gratuit
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.
Téléchargement :
Compatibilité :
Linux Mac Windows  

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

Licence : Gratuit
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.
Téléchargement :
Compatibilité :
Linux Mac Windows  

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

Licence : Gratuit
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.
Téléchargement :
Compatibilité :
Linux Mac Windows  

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

Licence : Gratuit
L'utilisation des expressions régulière est plus appropriée.
Téléchargement :
Compatibilité :
Linux Mac Windows  

ang Comment transposer un fichier tabulé ?

Licence : Gratuit
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.
Téléchargement :
Compatibilité :
Linux Mac Windows  

28 éléments

Connexion

Identifiant
Mot de passe
S'inscrireMot de passe oublié ?
 
 
 
 
Partenaires

Hébergement Web