Bonjour,
je voulais savoir s'il y a une limite de taille des fichiers que l'on peut parser avec Perl?
En effet, j'ai un fichier de 277 Go que je dois parser pour faire des stats.
Le truc de base, c'est de compter le nombre de fois qu'on retrouve une certaine chaine de caractère. Je le fais avec le code suivant :
Si tout c'est bien passé avec le script qui a générer le fichier, $prom_id devrait valoir un peu plus de 12000.
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 open(MATCH, "<$opt_f") or die("Impossible d'ouvrir $opt_f\n"); my $line; my $prom_id = 0; while(defined($line=<MATCH>) ) { if($line =~ m/Tag_id .+/) { $prom_id ++; } } close(MATCH); print "\nNombre de promoteurs : $prom_id\n";
Sauf que j'obtiens toujours l'erreur l'erreur suivante :
Je ne comprends pas comment une simple incrémentation peu générer un "out of memory". C'est pourquoi je me demandais s'il y avait une limite de taille des fichiers traitables par Perl ou pas...cgmc134:bin mathilde$ perl stat_FT_Match.pl -f ../resultats/Match_natif_human_5000up.txt
perl(9196) malloc: *** mmap(size=2397048832) failed (error code=12)
*** error: can't allocate region
*** set a breakpoint in malloc_error_break to debug
Out of memory!
Partager