Une liste assez complète des opérateurs secrets : http://www.mail-archive.com/fwp@perl.org/msg03454.html
Une liste assez complète des opérateurs secrets : http://www.mail-archive.com/fwp@perl.org/msg03454.html
Merci.
Mais je les ai vu à la journée Perl, notamment Philippe 'BooK' Bruhat.
Mais j'ai pas pu suivre toute sa présentation .
Tu veux dire que tu n'as pas tout compris ?
il y avait plusieurs présentations en même temps, donc j'ai zappé celle là
Comment afficher une barre de progression sur une console ? Fait
Merci à Philou67430 pour la proposition de son code.
Il reste quelques corrections à faire sur le code fourni : les constructeurs doivent appeler Progressbar->new et non Text::Progressbar->new (dans les sources mais aussi dans les pod)
Nouvelle question : Comment lancer des commandes sur un serveur distant depuis Windows
Nouvelle question : Comment afficher des accents sur une console Windows (DOS) ?
Nouvelle question : Comment créer une question à choix multiple dans un terminal ?
Nouvelle question : Comment obtenir la date au format DB2, obtenir la microseconde ?
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; }
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 =item rabot La fonction rabot() rabote une chaine de caractère à une longueur donnée si la longueur initiale est supérieure. Entrées obligatoires : Chaîne de caractères Longueur Sortie : Chaîne de caractères résultante =cut sub rabot { my $texte = $_[0]; my $taille = $_[1]; $texte = substr($texte, 0, ($taille-3))."..." if(length($texte) > $taille); return $texte; }
Pour ceux qui ne savent pas ce qu'est un ISBN : http://isbn.org
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58 =item test_isbn10 La fonction test_isbn10() contrôle la clef d'un ISBN-10. Entrées obligatoires : ISBN-10 Sortie : Booléen =cut sub test_isbn10 { my $isbn = $_[0]; $isbn =~ s/-//g; my $clef = substr($isbn,-1); chop($isbn); $clef = 10 if ($clef eq "X" || $clef eq "x"); my $total = 0; my $c = 10; foreach my $chiffre (split //, $isbn) { $total += $chiffre*$c; $c--; } my $cle = 11-($total%11); if ($cle == $clef) { return 1; } else { return 0; } } =item test_isbn13 La fonction test_isbn13() contrôle la clef d'un ISBN-13. Entrées obligatoires : ISBN-13 Sortie : Booléen =cut sub test_isbn13 { my $ean = $_[0]; $ean =~ s/-//g; my $clef = substr($ean,-1); chop($ean); my $total = 0; my $c = 1; foreach my $chiffre (split //, $ean) { $total += ($c%2)?$chiffre:($chiffre*3); $c++; } my $cle = $total%10; $cle =~ tr/0123456789/0987654321/; if ($cle == $clef) { return 1; } else { return 0; } }
N'est pas valable pour des méls du type @[ADR.ES.SE.IP]
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 =item test_mel La fonction test_mel() vérifie si le mél est bien conforme. Entrées obligatoires : Mél Sortie : Booléen =cut sub test_mel { my $mel = $_[0]; if ($mel =~ /^[^\s@]+@[^\s@]+\.[a-z]{2,6}$/) { return 1; } else { return 0; } }
Partager