Nouvelle question : Comment obtenir la date au format DB2, obtenir la microseconde ?
Nouvelle question : Comment obtenir la date au format DB2, obtenir la microseconde ?
- Les meilleurs cours et tutoriels Perl et Perl 6 pour vous former ;
- FAQ Perl, Perl 6 et Perl/Tk d'entraide ;
- Les news sur la rubrique Perl ;
- S'abonner au compte Twitter de la rubrique Perl ;
- Mes tutoriels developpez.com.
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
Nouvelle question : Comment lancer des commandes sur un serveur distant depuis Windows
- Les meilleurs cours et tutoriels Perl et Perl 6 pour vous former ;
- FAQ Perl, Perl 6 et Perl/Tk d'entraide ;
- Les news sur la rubrique Perl ;
- S'abonner au compte Twitter de la rubrique Perl ;
- Mes tutoriels developpez.com.
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
Nouvelle question : Comment afficher des accents sur une console Windows (DOS) ?
- Les meilleurs cours et tutoriels Perl et Perl 6 pour vous former ;
- FAQ Perl, Perl 6 et Perl/Tk d'entraide ;
- Les news sur la rubrique Perl ;
- S'abonner au compte Twitter de la rubrique Perl ;
- Mes tutoriels developpez.com.
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
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); }
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; }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 sub toDec { return sprintf("%.2f", $_[0]); }
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; }
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; }
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; }
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 ?
- Les meilleurs cours et tutoriels Perl et Perl 6 pour vous former ;
- FAQ Perl, Perl 6 et Perl/Tk d'entraide ;
- Les news sur la rubrique Perl ;
- S'abonner au compte Twitter de la rubrique Perl ;
- Mes tutoriels developpez.com.
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
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 ?
- Les meilleurs cours et tutoriels Perl et Perl 6 pour vous former ;
- FAQ Perl, Perl 6 et Perl/Tk d'entraide ;
- Les news sur la rubrique Perl ;
- S'abonner au compte Twitter de la rubrique Perl ;
- Mes tutoriels developpez.com.
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
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).
Partager