Bonjour,

Je cherche à récupérer les lignes d'un fichier.

Je fait une recherche sur un motif, et une fois ce motifs crée je veux récupérer les deux lignes du dessous.

Je ne sais pas comment faire.

Exemple de fichier :

31/12/2006;02/01/2007;41100000;5013179;41,1
31/12/2006;62838000;41,1;D;JUSTIFICATIF AE
31/12/2006;02/01/2007;41100000;5691775;13,05;C
31/12/2006;02/01/2007;41100000;1234567;41,1
31/12/2006;62838000;41,1;D;JUSTIFICATIF AE
31/12/2006;02/01/2007;41100000;5691775;13,05;C
31/12/2006;02/01/2007;41100000;013179;41,1
31/12/2006;62838000;41,1;D;JUSTIFICATIF AE
31/12/2006;02/01/2007;41100000;5691775;13,05;C

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#!/usr/bin/perl
 
use strict;
use warnings;
use POSIX;
use Math::BigInt;
use Math::BigFloat;
 
sub extraction_ligne() {
	my $motifs = $_[0];
	my $fichier = $_[1];
 
	open(FILE,$fichier) || die("Erreur d'ouverture de $fichier") ;
	while(<FILE>) {
		if($_ =~ $motifs) {
			print $_."\n";
		}
	}
	close(FILE);
}
 
&extraction_ligne('5013179','R_2007-02-01.csv');
Avec ce code je veux récupérer :

31/12/2006;02/01/2007;41100000;5013179;41,1
31/12/2006;62838000;41,1;D;JUSTIFICATIF AE
31/12/2006;02/01/2007;41100000;5691775;13,05;C


Merci de votre aide