Aide pour un script perl
Résolu
bansan
Messages postés
122
Date d'inscription
Statut
Membre
Dernière intervention
-
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
lami20j Messages postés 21331 Date d'inscription Statut Modérateur, Contributeur sécurité Dernière intervention -
Bonjour,
Si quelqu'un pouvait me dire ou est ce que cela cloche dans mes lignes....
Ecrire un script Perl dont le rôle est de permettre à l'utilisateur de saisir une chaîne de caractères et
d'indiquer si cette chaîne représente une valeur numérique entière non signée (chaîne constituée
uniquement que de chiffres).
#!/usr/local/bin/perl
print "Saisir une phrase:";
$phrase=<STDIN>;
chomp $phrase;
$l=length($phrase);
for ($i=0;$i<$l;$i++)
{
$first=substr($phrase,$i,1);
}
for ($j=0;$j<10;$j++)
{
$je=$j
}
if ($first eq $je)
{
print "chiffres";
}
elsif ($first ne $je)
{
print"ooo"
}
Si quelqu'un pouvait me dire ou est ce que cela cloche dans mes lignes....
Ecrire un script Perl dont le rôle est de permettre à l'utilisateur de saisir une chaîne de caractères et
d'indiquer si cette chaîne représente une valeur numérique entière non signée (chaîne constituée
uniquement que de chiffres).
#!/usr/local/bin/perl
print "Saisir une phrase:";
$phrase=<STDIN>;
chomp $phrase;
$l=length($phrase);
for ($i=0;$i<$l;$i++)
{
$first=substr($phrase,$i,1);
}
for ($j=0;$j<10;$j++)
{
$je=$j
}
if ($first eq $je)
{
print "chiffres";
}
elsif ($first ne $je)
{
print"ooo"
}
A voir également:
- Aide pour un script perl
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Script cmd - Guide
- Script download - Télécharger - Édition & Programmation
2 réponses
Salut,
#!/usr/bin/perl # use warnings;use strict; print "Saisir une phrase:"; chomp(my $phrase=<STDIN>); $phrase=~/^\d+$/?print "chiffres\n":print"ooo\n"; __END__
Salut,
use strict et use warnings sont des pragmas qui permettent d'avoir un peu de discipline pour l'écriture de code
tu peux lire cet article http://perl.mines-albi.fr/DocFr/perlstyle.html
chomp(my $phrase=<STDIN>);
ici j'obtiens la chaîne de caractères
la fonction chomp permet de supprimer le \n a la fin de al chaine s'il existe
$phrase=~/^\d+$/?print "chiffres\n":print"ooo\n";
Ici c'est un peu plus compliqué.
en 1ère temps parlons de l'opérateur ternaire condition?si vrai:si faux;
donc si la condition est vrai c'est la 1ère partie de code qui sera exécuter
si c'est faux ça sera la 2ème qui s'exécute
parlons de la condition $phrase=~/^\d+$/
Si tu veux vraiement utiliser Perl sache que les expressions régulières sont très utilsées.
=~ c'est l'opérateur de correspondance
\d c'est une classe de caractère qui signifie tout caractère qui est un chiffre
l'équivalent est [0-9] - donc les chiffres de 0 à 9
le + c'est un quantificateur qui veut dire un, ou n'importe combien de fois tu peux
^ signifie un emplacement - le début de la chaîne
$ signifier un emplacement - la fin de la chaine
Voici la traduction
$phrase=~/^\d+$/
SI $phrase correspond à un chiffre ou à n'importe combien des chiffres tu peux de début de la chaîne à la fin de la chaîne ALORS (ici c'est ?) affiche "chiffres\n" SINON(ici c'est :) affiche "ooo\n";
j'espère que tu as compris un peu ;-)
use strict et use warnings sont des pragmas qui permettent d'avoir un peu de discipline pour l'écriture de code
tu peux lire cet article http://perl.mines-albi.fr/DocFr/perlstyle.html
chomp(my $phrase=<STDIN>);
ici j'obtiens la chaîne de caractères
la fonction chomp permet de supprimer le \n a la fin de al chaine s'il existe
$phrase=~/^\d+$/?print "chiffres\n":print"ooo\n";
Ici c'est un peu plus compliqué.
en 1ère temps parlons de l'opérateur ternaire condition?si vrai:si faux;
donc si la condition est vrai c'est la 1ère partie de code qui sera exécuter
si c'est faux ça sera la 2ème qui s'exécute
parlons de la condition $phrase=~/^\d+$/
Si tu veux vraiement utiliser Perl sache que les expressions régulières sont très utilsées.
=~ c'est l'opérateur de correspondance
\d c'est une classe de caractère qui signifie tout caractère qui est un chiffre
l'équivalent est [0-9] - donc les chiffres de 0 à 9
le + c'est un quantificateur qui veut dire un, ou n'importe combien de fois tu peux
^ signifie un emplacement - le début de la chaîne
$ signifier un emplacement - la fin de la chaine
Voici la traduction
$phrase=~/^\d+$/
SI $phrase correspond à un chiffre ou à n'importe combien des chiffres tu peux de début de la chaîne à la fin de la chaîne ALORS (ici c'est ?) affiche "chiffres\n" SINON(ici c'est :) affiche "ooo\n";
j'espère que tu as compris un peu ;-)
J'aimerais ceic dit (si tu as le temps) que tu me dises comment ca a été possible...
Use district??
C'est quoi les district??
Merci bcp