
sessmurda
Novice
Dec 17, 2010, 1:20 PM
Views: 1026
|
Re: [Zhris] Basic question about improving speed of a script
|
|
|
Thanks, ended up using hashes for this which was so much faster (<60sec)
use warnings; use Data::Dumper; open (FILE1, "$ARGV[0]"); open (FILE2, "$ARGV[1]"); my %data; my %data2; while (my $line1 = <FILE1>) { chomp $line1; my @fields1 = split(/\t/, $line1); $data{$fields1[0]} = [ $fields1[1] ]; } while (my $line2 = <FILE2>) { chomp $line2; my @fields2 = split(/\t/, $line2); unless (exists $data{$fields2[0]}) { $data2{$fields2[0]} = [ $fields2[1] ]; } } foreach my $ID (keys %data2) { my ($info) = @{$data2{$ID}}; print "$ID\t$info\n"; }
|