Discussion:
Filtre Perl
(trop ancien pour répondre)
Chloe Sival
2012-12-30 14:13:20 UTC
Permalink
Bonjour,

J’ai un fichier text qui contient des lignes:

32.20 4 650 271057 266260 94432176 0 0 9w3d 4
32.21 4 680 61817 66119 94432176 0 0 2w2d 6

Je dois récupérer chaque valeur dans une variable, mais mon probleme est
qu'entre les data il y a des espaces/tab qui varie.

$data1= "32.20"
$data2 = "4"
$data3 = "650"
etc ..

Comment je peux faire pour a coup sur récupérer l'information ?

merci d'avance pour votre aide.
Chloe
kurtz le pirate
2012-12-30 17:00:39 UTC
Permalink
Post by Chloe Sival
Bonjour,
32.20 4 650 271057 266260 94432176 0 0 9w3d 4
32.21 4 680 61817 66119 94432176 0 0 2w2d 6
Je dois récupérer chaque valeur dans une variable, mais mon probleme est
qu'entre les data il y a des espaces/tab qui varie.
$data1= "32.20"
$data2 = "4"
$data3 = "650"
etc ..
Comment je peux faire pour a coup sur récupérer l'information ?
merci d'avance pour votre aide.
Chloe
bonjour,

je pense que Parse::FixedLength est ton ami.
http://search.cpan.org/~dougw/Parse-FixedLength-5.37/FixedLength.pm
--
klp
Emmanuel Florac
2012-12-30 19:39:45 UTC
Permalink
Post by Chloe Sival
Je dois récupérer chaque valeur dans une variable, mais mon probleme est
qu'entre les data il y a des espaces/tab qui varie.
Dans une regexp, par défaut \s capture à la fois les espaces et les
tabulations. Donc

while (<$file>) {
@data = split /\s+/ ;
}

doit faire ce que tu veux.
--
That ideas should freely spread from one to another over the globe,
for the moral and mutual instruction of man, and the improvement of his
conditions, seems to have been peculiarly and benevolently designed by
nature, when she made them, like fire, expansible over all space,
without lessening their density in any point, and like the air in which
we breathe, move, and have our physical being, incapable of confinement
of exclusive appropriation. Inventions then cannot, in nature, be a
subject of property.
Thomas Jefferson.
Chloe Sival
2012-12-31 10:30:53 UTC
Permalink
Post by Emmanuel Florac
Post by Chloe Sival
Je dois récupérer chaque valeur dans une variable, mais mon probleme est
qu'entre les data il y a des espaces/tab qui varie.
Dans une regexp, par défaut \s capture à la fois les espaces et les
tabulations. Donc
while (<$file>) {
@data = split /\s+/ ;
}
doit faire ce que tu veux.
Genial exactement ce que je veux faire

merci beaucoup

Continuer la lecture sur narkive:
Loading...