# script perl



## cvs (10 Août 2007)

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 (11 Août 2007)

Avant de le penser en PERL, il faut penser &#224; l'algorithme lui-m&#234;me. Sauf &#224; &#234;tre exp&#233;riment&#233; dans un langage, il est pr&#233;f&#233;rable de _raisonner_ d'abord, d'&#233;crire ensuite. Sinon on s'emp&#234;tre dans des broutilles et on passe &#224; c&#244;t&#233; de l'essentiel.

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

Suivant si l'ordre des lettres importe ou non, le r&#233;sultat sera diff&#233;rent.


----------



## cvs (11 Août 2007)

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 (11 Août 2007)

Dans ce cas, montre-nous l'algorithme (pas de _y_) et indique ce qui te g&#234;ne dans la syntaxe. Sinon, on va avoir du mal &#224; t'aider sans tout &#233;crire nous-m&#234;mes 

Par ailleurs, sur le Net, il y a un nombre consid&#233;rable de sites avec des _howtos_ concernant les langages de scripting.


----------



## globilux (11 Août 2007)

pourquoi tu fait pas un exec(touch)


----------



## bompi (12 Août 2007)

Je n'ai pas, compris, l&#224; ...


----------



## tatouille (12 Août 2007)

cvs a dit:


> Bonsoir
> 
> je cherche &#224; g&#233;n&#232;rer un fichier txt avec un script perl
> 
> ...



hexadecimal , c'est vraiment pas tr&#232;s difficile comme exercice
il suffit d'&#233;noncer la r&#232;gle clairement avant de l'&#233;crire comme te l'a si bien soulign&#233; Bompi

+


----------



## cvs (12 Août 2007)

Bonjour tous le monde merci de vous interresser &#224; mon souci

j'ai cr&#233;er deux fichiers txt qui contiennent sur chaque ligne un alphanum&#233;rique voulu

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

un autre souci comment entrer le param&#232;tre des 10 caract&#232;res maxi ?

(on saute l'&#233;tape du cas ou il n'y a qu'un alphanum&#233;rique)



un gros d&#233;butant qui vous remercie


non touch c'est pas bon et de toutes fa&#231;on cela ne suffirait pas

*touch* modifie les caract&#233;ristiques d'un fichier (option -*a* : m par d&#233;faut) cr&#233;e un fichier vide s'il n'existe pas d&#233;j&#224;
-*a* :  dernier acc&#232;s seulement 
-*m* :  derni&#232;re modification seulement


----------



## p4bl0 (13 Août 2007)

cvs a dit:


> Bonjour tous le monde merci de vous interresser &#224; mon souci
> 
> j'ai cr&#233;er deux fichiers txt qui contiennent sur chaque ligne un alphanum&#233;rique voulu
> 
> ...


&#224; mon avis (qui ne vaut cependant pas grand chose), il serait plus simple et plus rapide de stocker les caract&#232;res [0-9a-i] dans une liste en Perl que dans un fichier.

apr&#232;s il devrait suffire de compter en base 19 avec les caract&#232;res de la liste.


----------



## p4bl0 (13 Août 2007)

p4bl0 a dit:


> &#224; mon avis (qui ne vaut cependant pas grand chose), il serait plus simple et plus rapide de stocker les caract&#232;res [0-9a-i] dans une liste en Perl que dans un fichier.
> 
> apr&#232;s il devrait suffire de compter en base 19 avec les caract&#232;res de la liste.


Pour compter une m&#233;thode simple et de faire comme ceci :

d'abord les 19 char un &#224; un (donc de 0 &#224; 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 &#231;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&#234;tes &#224; iiiiiiiiii


----------

