|
|
|
|
Bonjour a tous,
Je débute en perl et pour réaliser un traitement sur des valeurs contenues dans un fichier texte; j'aurais besoin des les mettre dans un tableau 2D.
Voici comment le fichier texte se présente :
[code]
premier nom 123 987 876 1452
le-deux 762 123 876
troisième/nom 762 789 0981
un (dernier) 999 526 127
...
/code
et voici le genre le tableau que je voudrais obtenir :
[code]
@data = (["premier nom",123,987,876,1452],
["le-deux",762,123,876],
["troisième/nom",762,789,0981],
["un (dernier)",999,526,127],
... )
/code
En gros, j'aimerais que tous les :
$data[x][O] me renvoient les noms. Et les
$data[x][y] me renvoient les valeurs. (y>0).
J'ai essayé de faire ca avec des push mais je ne m'en sors pas. les noms sont uniquements composés de lettres et caractère / , ( ) -
et les valeur uniquement des chiffres.
Si quelqu'un pouvait me donner un coup de main...
Merci
Configuration: Linux Firefox 2.0.0.12
Salut
while ( <> )
{
my ($a, $b);
if ( /^([^\d]+)\s+(.*)$/ )
{
$a = $1;
$b = $2;
push @data, [ $a , split (/ /, $b) ];
}
}
Notez les [ ] dans le push. Et il faut peut-etre ameliorer la regexp du if() Et voir si un hash (%data) avec le nom en cle n'irait pas mieux... mais ca depend du probleme a resoudre :-) Cordialement |