Précédent   Forum du club des développeurs et IT Pro > Autres langages > Perl > Langage
Langage Toutes vos questions sur les scripts Perl en général. Avant de poster, veuillez consulter les FAQs perl, les cours Perl, les critiques de livres et les sources Perl.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Discussion fermée
 
Outils de la discussion
Publicité
'
Vieux 15/06/2009, 17h21   #61
Philou67430
Expert Confirmé
 
Inscription : avril 2009
Messages : 2 642
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : avril 2009
Messages : 2 642
Points : 3 093
Points : 3 093
Une liste assez complète des opérateurs secrets : http://www.mail-archive.com/fwp@perl.org/msg03454.html
__________________
Plus j'apprends, et plus je mesure mon ignorance (philou67430)
Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
Using strict and warnings is good for you.
Philou67430 est déconnecté   Envoyer un message privé 00
Vieux 15/06/2009, 17h26   #62
djibril
Responsable Perl et Outils

 
Avatar de djibril
 
Homme
Inscription : avril 2004
Messages : 13 567
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 13 567
Points : 31 785
Points : 31 785
Merci.
Mais je les ai vu à la journée Perl, notamment Philippe 'BooK' Bruhat.
Mais j'ai pas pu suivre toute sa présentation .
__________________
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
djibril est déconnecté   Envoyer un message privé 00
Vieux 15/06/2009, 17h40   #63
Philou67430
Expert Confirmé
 
Inscription : avril 2009
Messages : 2 642
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : avril 2009
Messages : 2 642
Points : 3 093
Points : 3 093
Tu veux dire que tu n'as pas tout compris ?
__________________
Plus j'apprends, et plus je mesure mon ignorance (philou67430)
Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
Using strict and warnings is good for you.
Philou67430 est déconnecté   Envoyer un message privé 00
Vieux 15/06/2009, 18h01   #64
djibril
Responsable Perl et Outils

 
Avatar de djibril
 
Homme
Inscription : avril 2004
Messages : 13 567
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 13 567
Points : 31 785
Points : 31 785

il y avait plusieurs présentations en même temps, donc j'ai zappé celle là
__________________
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
djibril est déconnecté   Envoyer un message privé 00
Vieux 16/06/2009, 14h07   #65
djibril
Responsable Perl et Outils

 
Avatar de djibril
 
Homme
Inscription : avril 2004
Messages : 13 567
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 13 567
Points : 31 785
Points : 31 785
Comment afficher une barre de progression sur une console ? Fait

Merci à Philou67430 pour la proposition de son code.
__________________
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
djibril est déconnecté   Envoyer un message privé 00
Vieux 16/06/2009, 14h45   #66
Philou67430
Expert Confirmé
 
Inscription : avril 2009
Messages : 2 642
Détails du profil
Informations personnelles :
Âge : 47

Informations forums :
Inscription : avril 2009
Messages : 2 642
Points : 3 093
Points : 3 093
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)
__________________
Plus j'apprends, et plus je mesure mon ignorance (philou67430)
Toute technologie suffisamment avancée est indiscernable d'un script Perl (Llama book)
Partagez vos problèmes pour que l'on partage ensemble nos solutions : je ne réponds pas aux questions techniques par message privé
Using strict and warnings is good for you.
Philou67430 est déconnecté   Envoyer un message privé 00
Vieux 16/06/2009, 14h55   #67
djibril
Responsable Perl et Outils

 
Avatar de djibril
 
Homme
Inscription : avril 2004
Messages : 13 567
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 13 567
Points : 31 785
Points : 31 785
correction faite.
__________________
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
djibril est déconnecté   Envoyer un message privé 00
Vieux 10/07/2009, 12h22   #68
djibril
Responsable Perl et Outils

 
Avatar de djibril
 
Homme
Inscription : avril 2004
Messages : 13 567
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 13 567
Points : 31 785
Points : 31 785
Nouvelle question : Comment lancer des commandes sur un serveur distant depuis Windows
__________________
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
djibril est déconnecté   Envoyer un message privé 00
Vieux 14/07/2009, 16h21   #69
djibril
Responsable Perl et Outils

 
Avatar de djibril
 
Homme
Inscription : avril 2004
Messages : 13 567
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 13 567
Points : 31 785
Points : 31 785
Nouvelle question : Comment afficher des accents sur une console Windows (DOS) ?
__________________
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
djibril est déconnecté   Envoyer un message privé 00
Vieux 01/10/2009, 10h41   #70
djibril
Responsable Perl et Outils

 
Avatar de djibril
 
Homme
Inscription : avril 2004
Messages : 13 567
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 13 567
Points : 31 785
Points : 31 785
Nouvelle question : Comment créer une question à choix multiple dans un terminal ?
__________________
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
djibril est déconnecté   Envoyer un message privé 00
Vieux 23/10/2009, 09h53   #71
djibril
Responsable Perl et Outils

 
Avatar de djibril
 
Homme
Inscription : avril 2004
Messages : 13 567
Détails du profil
Informations personnelles :
Sexe : Homme
Âge : 33
Localisation : France

Informations forums :
Inscription : avril 2004
Messages : 13 567
Points : 31 785
Points : 31 785
Nouvelle question : Comment obtenir la date au format DB2, obtenir la microseconde ?
__________________
Pas de questions technique par messagerie privée (lisez les règles du forum Perl) et pour les nouveaux !
djibril est déconnecté   Envoyer un message privé 00
Vieux 23/10/2009, 12h00   #72
vil-farfadet
Membre à l'essai
 
Inscription : avril 2009
Messages : 19
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : avril 2009
Messages : 19
Points : 21
Points : 21
Par défaut Calcul de pourcentage

Code :
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);
}
vil-farfadet est déconnecté   Envoyer un message privé 00
Vieux 23/10/2009, 12h02   #73
vil-farfadet
Membre à l'essai
 
Inscription : avril 2009
Messages : 19
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : avril 2009
Messages : 19
Points : 21
Points : 21
Par défaut Enlever les espaces en début et fin de ligne

Code :
1
2
3
4
5
6
7
sub trim
{
 	my ($texte) = $_[0];
	$texte =~ s/^\s+//;
	$texte =~ s/\s+$//;
	return $texte;
}
vil-farfadet est déconnecté   Envoyer un message privé 00
Vieux 23/10/2009, 12h03   #74
vil-farfadet
Membre à l'essai
 
Inscription : avril 2009
Messages : 19
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : avril 2009
Messages : 19
Points : 21
Points : 21
Par défaut Afficher avec deux décimales (monétaire)

Code :
1
2
3
4
sub toDec
{
        return sprintf("%.2f", $_[0]);
}
vil-farfadet est déconnecté   Envoyer un message privé 00
Vieux 23/10/2009, 12h07   #75
vil-farfadet
Membre à l'essai
 
Inscription : avril 2009
Messages : 19
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : avril 2009
Messages : 19
Points : 21
Points : 21
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 :
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;
}
vil-farfadet est déconnecté   Envoyer un message privé 00
Vieux 23/10/2009, 12h14   #76
vil-farfadet
Membre à l'essai
 
Inscription : avril 2009
Messages : 19
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : avril 2009
Messages : 19
Points : 21
Points : 21
Par défaut Retourner un numéro de carte bancaire partiellement masqué

Code :
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;
}
vil-farfadet est déconnecté   Envoyer un message privé 00
Vieux 23/10/2009, 12h17   #77
vil-farfadet
Membre à l'essai
 
Inscription : avril 2009
Messages : 19
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : avril 2009
Messages : 19
Points : 21
Points : 21
Par défaut Menu déroulant html avec des chiffres

Pour une liste des départements, d'années de naissance, etc...
Code :
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;
}
vil-farfadet est déconnecté   Envoyer un message privé 00
Vieux 23/10/2009, 12h19   #78
vil-farfadet
Membre à l'essai
 
Inscription : avril 2009
Messages : 19
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : avril 2009
Messages : 19
Points : 21
Points : 21
Par défaut Raboter un texte trop long et ajouter 3 petits points

Code :
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;
}
vil-farfadet est déconnecté   Envoyer un message privé 00
Vieux 23/10/2009, 12h23   #79
vil-farfadet
Membre à l'essai
 
Inscription : avril 2009
Messages : 19
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : avril 2009
Messages : 19
Points : 21
Points : 21
Par défaut Tester la validité d'un ISBN

Pour ceux qui ne savent pas ce qu'est un ISBN : http://isbn.org
Code :
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;
	}
}
vil-farfadet est déconnecté   Envoyer un message privé 00
Vieux 23/10/2009, 12h25   #80
vil-farfadet
Membre à l'essai
 
Inscription : avril 2009
Messages : 19
Détails du profil
Informations personnelles :
Localisation : France

Informations forums :
Inscription : avril 2009
Messages : 19
Points : 21
Points : 21
Par défaut Un test basique de validité d'un mél

N'est pas valable pour des méls du type @[ADR.ES.SE.IP]

Code :
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;
	}
}
vil-farfadet est déconnecté   Envoyer un message privé 00
Discussion fermée
Outils de la discussion

Navigation rapide


Fuseau horaire GMT +2. Il est actuellement 16h47.


 
 
 
 
Partenaires

Hébergement Web