Bonjour je veux parser deux fichiers pour en faire 1 au final.
A chaque fois que je lance mon script je reçoit un message out of memory alors que mes fichiers sont relativement pas énorme.
Est ce que quelqu'un pourrais m'aider s.v.p.
Merci d'avance.
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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87 #!/bin/perl use strict; use warnings; my $line; my @values; my @liste_flj = (); my @liste_ak = (); my @col2; my @col3; my @valeur; open (FILE1, "+<ak_acc2.txt"); open (FILE2, "+>files2.txt"); my$i= 0; while ($line = <FILE1>){ $i++; recuperation_Infos($_); if ($line ){ @values= split(/\t/,$line); print "the AK :".$values[0]."\n"; print " the HIT :".$values[1]."\n"; #$liste_flj[$i]; $col2[$i]=$values[0]; #$col3[$i]=$values[1]; if($col2[$i]=$liste_ak[$i]){ $col3[$i]= $values[1]; } else { $col3[$i]= ''; } } print "list_col3 $col3[$i]\n"; print "list_flj $liste_flj[$i]\n"; print "liste_col2 $col2[$i]\n"; print FILE2 "$liste_flj[$i]\t$col2[$i]\t$col3[$i]\n"; } close (FILE1); close (FILE2); sub recuperation_Infos{ open (FILE, "+<FLJ_57628.txt"); while ($_ = <FILE>){ if ($_ ){ @valeur= split(/\t/,$_); #print "\nsitstart :".$valeur[0]."\n"; #print "\nsitend :".$valeur[1]."\n"; push (@liste_flj, $valeur[0]); push (@liste_ak, $valeur[1]); } } close (FILE); }
Partager