IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

Scripts ou codes gratuits et disponibles pour tous en Perl [Sources]


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Nouvelle question : Comment obtenir la date au format DB2, obtenir la microseconde ?
      0  0

  2. #2
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Nouvelle question : Comment lancer des commandes sur un serveur distant depuis Windows
      0  0

  3. #3
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Nouvelle question : Comment afficher des accents sur une console Windows (DOS) ?
      0  0

  4. #4
    Membre averti

    Profil pro
    Inscrit en
    Avril 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 19
    Par défaut Calcul de pourcentage
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
     
    =item calcul_pourcentage
    La fonction calcul_pourcentage() retourne un montant
    auquel on a ajouter ou soustrait un pourcentage,
    ou (avec l'option) le montant que l'on avait
    avant l'application de ce pourcentage.
    Entrées obligatoires :
    	Montant de départ
    	Taux à appliquer en pourcent (positif ou négatif)
    Entrées optionnelles :
    	Booléen
    Sortie :
    	Montant résultant arrondi à 2 chiffres après la virgule
    =cut
    sub calcul_pourcentage
    {
    	my $montant = $_[0];
    	my $taux = $_[1];
    	my $inversion = $_[2];
     
    	my $resultat;
    	if ($inversion) {
    		$resultat = $montant/(100+$taux)*100;
    	} else {
    		$resultat = $montant*(100+$taux)/100;
    	}
     
    	return sprintf("%.2f", $resultat);
    }
      0  0

  5. #5
    Membre averti

    Profil pro
    Inscrit en
    Avril 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 19
    Par défaut Enlever les espaces en début et fin de ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    sub trim
    {
     	my ($texte) = $_[0];
    	$texte =~ s/^\s+//;
    	$texte =~ s/\s+$//;
    	return $texte;
    }
      0  0

  6. #6
    Membre averti

    Profil pro
    Inscrit en
    Avril 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 19
    Par défaut Afficher avec deux décimales (monétaire)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    sub toDec
    {
            return sprintf("%.2f", $_[0]);
    }
      0  0

  7. #7
    Membre averti

    Profil pro
    Inscrit en
    Avril 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 19
    Par défaut Transformer un formulaire html dans son équivalent sous forme d'url
    Ne s'applique pas à tous les cas, à adapter bien sûr...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    =item convert_form_url
    La fonction convert_form_url() convertit un formulaire
    (méthode POST) en une url (méthode GET).
    Entrées obligatoires :
    	Chaîne avec le formulaire html
    Sortie :
    	URL équivalente
    =cut
    sub convert_form_url
    {
    	my $formulaire = $_[0];
     
    	$formulaire =~ s/\n//g;
    	$formulaire =~ s/<form action="([^"]+)"[^>]*>/$1?/;
    	$formulaire =~ s/<input type="hidden" name="([^"]+)" value="([^"]+)">/&$1=$2/g;
    	$formulaire =~ s/<input type="submit"[^>]*>//;
    	$formulaire =~ s/<\/form>//;
    	$formulaire =~ s/\?&/?/;
    	$formulaire =~ s/\s//g;
     
    	return $formulaire;
    }
      0  0

  8. #8
    Membre averti

    Profil pro
    Inscrit en
    Avril 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 19
    Par défaut Retourner un numéro de carte bancaire partiellement masqué
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    =item masque_cb
    La fonction masque_cb() retourne un numéro de carte bancaire
    partiel ne permettant pas de reconstituer le numéro complet
    de la carte.
    Entrées obligatoires :
    	Numéro de carte bancaire
    Entrées optionnelles :
    	Motif de remplacement (non mise en oeuvre dans cette version)
    Sortie :
    	Numéro de carte bancaire partiel
    =cut
    sub masque_cb
    {
    	my $numero = $_[0];
     
    	substr($numero,0,6,'------');
    	substr($numero,-1) = '-';
     
    	return $numero;
    }
      0  0

  9. #9
    Membre averti

    Profil pro
    Inscrit en
    Avril 2009
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2009
    Messages : 19
    Par défaut Menu déroulant html avec des chiffres
    Pour une liste des départements, d'années de naissance, etc...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    =item menu_numerique
    La fonction menu_numerique retourne un menu déroulant numérique.
    Entrées obligatoires :
    	Nombre de départ
    	Nombre d'arrivée
    Entrées optionnelles :
    	Format d'affichage
    Sortie :
    	Menu html
    =cut
    sub menu_numerique {
    	my $deb = $_[0];
    	my $fin = $_[1];
    	my $format = $_[2];
     
    	my $menu ="";
    	for (my $i=$deb; $i <= $fin; $i++) {
    		$menu .= "\t<option>";
    		$menu .= ($format)?sprintf($format, $i):$i;
    		$menu .= "</option>\n";
    	}
     
    	return $menu;
    }
      0  0

  10. #10
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    Citation Envoyé par vil-farfadet Voir le message
    Ne s'applique pas à tous les cas, à adapter bien sûr...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    =item convert_form_url
    La fonction convert_form_url() convertit un formulaire
    (méthode POST) en une url (méthode GET).
    Entrées obligatoires :
    	Chaîne avec le formulaire html
    Sortie :
    	URL équivalente
    =cut
    sub convert_form_url
    {
    	my $formulaire = $_[0];
     
    	$formulaire =~ s/\n//g;
    	$formulaire =~ s/<form action="([^"]+)"[^>]*>/$1?/;
    	$formulaire =~ s/<input type="hidden" name="([^"]+)" value="([^"]+)">/&$1=$2/g;
    	$formulaire =~ s/<input type="submit"[^>]*>//;
    	$formulaire =~ s/<\/form>//;
    	$formulaire =~ s/\?&/?/;
    	$formulaire =~ s/\s//g;
     
    	return $formulaire;
    }
    Si l'on peut en discuter ici, alors je dirais qu'à peu de frais (d'investissement intellectuel), on peut avantageusement tirer parti du module HTML::Form qui fourni les méthodes "click" et "make_request" retournant des requêtes à fournir à LWP::UserAgent.
    C'est très souple, et efficace.
      0  0

  11. #11
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Citation Envoyé par Philou67430 Voir le message
    Si l'on peut en discuter ici, alors je dirais qu'à peu de frais (d'investissement intellectuel), on peut avantageusement tirer parti du module HTML::Form qui fourni les méthodes "click" et "make_request" retournant des requêtes à fournir à LWP::UserAgent.
    C'est très souple, et efficace.
    On peut tout à fait discuter ici, pas de soucis. D'ailleurs ton avis m'intéresse sur les propositions de vil-farfadet.
    Voici mes premières conclusions :

    calcul_pourcentage => c'est assez vague, et assez simple à mettre place pour figurer dans les sources
    Enlever les espaces en début et fin de ligne => c'est la base du langage perl et faisable via une simple regex. Donc c'est assez simple à mettre place pour figurer dans les sources
    Afficher avec deux décimales (monétaire) => Autant parler de formatage de valeur directement
    et faire un lien vers la doc printf et sprintf
    convert_form_url => Comme le dit philou, il y a des modules gérant cela facilement tel HTML::Form
    Retourner un numéro de carte bancaire partiellement masqué => ça revient à faire une regex,
    donc ce sont les bases du langage perl.
    menu_numerique => il y a des options dans le module CGI pour faire ça plus simplement
    Raboter un texte trop long et ajouter 3 petits points => pourquoi pas, même si ça revient à faire une simple regex

    ISBN => pourquoi pas, mais il y a déjà un module qui teste vraiment (Test::ISBN) à vérifier
    test_mel => module existant déjà et je comptais déjà en parler
    siret => pourquoi pas, ça peut être bien, j'ai vu un module à tester Business::FR::SIRET, à tester
    test_tel => il y a un module qui le fait déjà correctement

    Voilà, qu'en pensez vous ?
      0  0

  12. #12
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 822
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Nouvelle question : Comment valider un numéro ISBN ?
    Nouvelle question : Comment vérifier qu'un numéro SIRET est bien formaté ?
    Nouvelle question : Comment raboter un texte trop long et ajouter 3 petits points ?

    Nouvelle question : Comment tester la validité d'une adresse électronique ?
      0  0

  13. #13
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    Pour info, il existe un caractère "trois petits points" qui s'appelle l'ellipsis (c'est un seul caractère, et non 3 points).
      0  0

Discussions similaires

  1. Réponses: 2
    Dernier message: 04/11/2009, 10h17
  2. Réponses: 5
    Dernier message: 15/09/2009, 12h00
  3. Réponses: 12
    Dernier message: 29/07/2009, 16h26
  4. Réponses: 0
    Dernier message: 23/07/2009, 15h21
  5. Réponses: 0
    Dernier message: 23/07/2009, 15h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo