Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Filtre Perl

8 views
Skip to first unread message

Chloe Sival

unread,
Dec 30, 2012, 9:13:20 AM12/30/12
to
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

unread,
Dec 30, 2012, 12:00:39 PM12/30/12
to
In article <50e04c09$0$6138$426a...@news.free.fr>,
Chloe Sival <chloe...@gmail.com> wrote:

> Bonjour,
>
> Jąai un fichier text qui contient des lignes:
bonjour,

je pense que Parse::FixedLength est ton ami.
http://search.cpan.org/~dougw/Parse-FixedLength-5.37/FixedLength.pm



--
klp

Emmanuel Florac

unread,
Dec 30, 2012, 2:39:45 PM12/30/12
to
Le Sun, 30 Dec 2012 15:13:20 +0100, Chloe Sival a écrit:


> 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

unread,
Dec 31, 2012, 5:30:53 AM12/31/12
to
Le 30/12/2012 20:39, Emmanuel Florac a écrit :
> Le Sun, 30 Dec 2012 15:13:20 +0100, Chloe Sival a écrit:
>
>
>> 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
0 new messages