What's up perlmonks, hope all is good. I'm pretty new to perl and i've been assigned to write something for text processing. basically my inputs are two text files, one of them contains 3 million numbers, and the other 3000. we are interested in the first 8 digits of the numbers in the file with 3 million numbers, and we want to see how many devices matches the ones in 3000 numbers file(8 digits). the output should be the top 100 devices, since if we take the 8 digits only we have lots of repetition. hope someone could help me and even give me some code. thanks a lot :) ....
Thanks for the help guys, i started doing it and it kinda worked, except when i use strict, i can't seem to know why, could you help me out? that's the code i have so fare
open (IMEI, 'IMEI.txt'); open (TAC, 'tac.txt'); %mapToModel =(); %keyCount = (); while (<TAC>){ $key = substr $_,0,8; $model = substr $_,9; $keyCount{$key} = 0; $mapToModel{$key} = $model; } close (TAC); while (<IMEI>){ $subs = substr $_, 0, 8; if(exists $keyCount{$subs}){ $keyCount{$subs} = $keyCount{$subs}+1; } } close (IMEI); foreach $key (keys %keyCount){ if (exists $mapToModel{$key}){ $model = $mapToModel{$key}; $count = $keyCount{$key}; if( $count !=0){ print "$count\t$model"; } } }
In reply to Perl text processing by biboshakan
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |