script perl

cvs

Membre junior
23 Février 2004
50
0
Bonsoir

je cherche à génèrer un fichier txt avec un script perl

je m'explique je souhaite que mon script me génère un fichier texte avec toutes les combinaisons possible en partant des chiffres de 0 à 9 et des lettres a à i avec maxi 10 caractères sur une ligne

style
0
01
001
0001
00001
etc

quelqu'un pourrait m'aider à faire ce script

ps : je ne souhaite pas qu'on me le fasse j'aimerais que l'on m'explique comment faire afin de comprendre ce que je fais

merci
 

bompi

El Moderador
Modérateur
Club MacG
12 Février 2004
41 915
3 156
Avant de le penser en PERL, il faut penser à l'algorithme lui-même. Sauf à être expérimenté dans un langage, il est préférable de raisonner d'abord, d'écrire ensuite. Sinon on s'empêtre dans des broutilles et on passe à côté de l'essentiel.

Ton problème est un simple problème mathématique (genre combinaison/arrangement, ça me rappelle mes vertes années). Le problème principal sera d'éviter les doublons, m'est avis.
Sinon, le truc c'est du genre :
- je prends les chaînes de 10 caractères composées à partir d'un caractère choisi parmi 19 caractères
- je prends les chaînes de 10 caractères composées à partir de deux caractères choisis parmi 19 caractères
etc.

Suivant si l'ordre des lettres importe ou non, le résultat sera différent.
 

cvs

Membre junior
23 Février 2004
50
0
j'ai cogité cet algorhytme je sais exactement ce que je veux faire mais c'est la syntaxe en perl qui me gène
 

bompi

El Moderador
Modérateur
Club MacG
12 Février 2004
41 915
3 156
Dans ce cas, montre-nous l'algorithme (pas de y) et indique ce qui te gêne dans la syntaxe. Sinon, on va avoir du mal à t'aider sans tout écrire nous-mêmes ;)

Par ailleurs, sur le Net, il y a un nombre considérable de sites avec des howtos concernant les langages de scripting.
 

bompi

El Moderador
Modérateur
Club MacG
12 Février 2004
41 915
3 156
:confused: Je n'ai pas, compris, là ...
 

tatouille

Vétéran
1 Juin 2004
5 174
494
Stanford CA
Bonsoir

je cherche à génèrer un fichier txt avec un script perl

je m'explique je souhaite que mon script me génère un fichier texte avec toutes les combinaisons possible en partant des chiffres de 0 à 9 et des lettres a à i avec maxi 10 caractères sur une ligne

style
0
01
001
0001
00001
etc

quelqu'un pourrait m'aider à faire ce script

ps : je ne souhaite pas qu'on me le fasse j'aimerais que l'on m'explique comment faire afin de comprendre ce que je fais

merci
hexadecimal ;), c'est vraiment pas très difficile comme exercice
il suffit d'énoncer la règle clairement avant de l'écrire comme te l'a si bien souligné Bompi

+
 

cvs

Membre junior
23 Février 2004
50
0
Bonjour tous le monde merci de vous interresser à mon souci

j'ai créer deux fichiers txt qui contiennent sur chaque ligne un alphanumérique voulu

le but étant de génèrer dans le deuxième fichier txt le résultat
je prend le premier alphanumérique du fichier 1 ainsi que le premier du fichier 2 je concatène et je le met à la suite dans le fichier 2 (je crois qu'en mettant l'alphanumérique ou la chaine du fichier 2 en variable ce sera plus simple) je reprend le premier du fichier 2 je concatène le 2éme du fichier 1 et je le met à la suite dans le fichier 2 et cela le nombre de fois (ici 19) que nécéssaire puis je passe a la ligne 2 dans le fichier 2 etc

un autre souci comment entrer le paramètre des 10 caractères maxi ?

(on saute l'étape du cas ou il n'y a qu'un alphanumérique)



un gros débutant qui vous remercie


non touch c'est pas bon et de toutes façon cela ne suffirait pas

touch modifie les caractéristiques d'un fichier (option -a : m par défaut) crée un fichier vide s'il n'existe pas déjà
-a : dernier accès seulement
-m : dernière modification seulement
 

p4bl0

Membre d’élite
Club MacG
12 Juillet 2004
4 772
425
30
$PWD
p4bl0.net
Bonjour tous le monde merci de vous interresser à mon souci

j'ai créer deux fichiers txt qui contiennent sur chaque ligne un alphanumérique voulu

le but étant de génèrer dans le deuxième fichier txt le résultat
je prend le premier alphanumérique du fichier 1 ainsi que le premier du fichier 2 je concatène et je le met à la suite dans le fichier 2 (je crois qu'en mettant l'alphanumérique ou la chaine du fichier 2 en variable ce sera plus simple) je reprend le premier du fichier 2 je concatène le 2éme du fichier 1 et je le met à la suite dans le fichier 2 et cela le nombre de fois (ici 19) que nécéssaire puis je passe a la ligne 2 dans le fichier 2 etc

un autre souci comment entrer le paramètre des 10 caractères maxi ?

(on saute l'étape du cas ou il n'y a qu'un alphanumérique)



un gros débutant qui vous remercie


non touch c'est pas bon et de toutes façon cela ne suffirait pas

touch modifie les caractéristiques d'un fichier (option -a : m par défaut) crée un fichier vide s'il n'existe pas déjà
-a : dernier accès seulement
-m : dernière modification seulement
à mon avis (qui ne vaut cependant pas grand chose), il serait plus simple et plus rapide de stocker les caractères [0-9a-i] dans une liste en Perl que dans un fichier.

après il devrait suffire de compter en base 19 avec les caractères de la liste.

:)
 

p4bl0

Membre d’élite
Club MacG
12 Juillet 2004
4 772
425
30
$PWD
p4bl0.net
à mon avis (qui ne vaut cependant pas grand chose), il serait plus simple et plus rapide de stocker les caractères [0-9a-i] dans une liste en Perl que dans un fichier.

après il devrait suffire de compter en base 19 avec les caractères de la liste.

:)
Pour compter une méthode simple et de faire comme ceci :

d'abord les 19 char un à un (donc de 0 à i) // suite lvl 0
ensuite les 0? ou ? est la suite lvl 0 puis les 1? ou ? est la suite lvl 0 puis les 2? ... // suite lvl 1

ensuite tu reprends ça "ensuite les 0? ou ? est la suite lvl 0 puis les 1? ou ? est la suite lvl 0 puis les 2? ... // suite lvl 1" en changeant chaque fois "suite lvl x" par "suite lvl x+1"

et bien entendu tu t'arrêtes à iiiiiiiiii :)