use strict;
my %hash1;
my %hash2;
my @data = (0 .. 5000);
for (my $i = 0; $i < scalar(@data); $i++ ) {
for (my $j = $i; $j < scalar(@data); $j++) {
$hash1{ $data[$i] }{ $data[$j] } = 0;
$hash2{ $data[$i] }{ $data[$j] } = 0;
}
}
while ( my ($key1, $val1) = each %hash1 ) {
while ( my ($key2, $val2) = each %$val1 ) {
print join(
"\t",
$key1,
$key2,
$hash1{$key1}{$key2},
$hash2{$key1}{$key2}
), "\n";
}
}
####
use strict;
my %hash1;
my %hash2;
my %hash3;
my @data = (0 .. 5000);
for (my $i = 0; $i < scalar(@data); $i++ ) {
for (my $j = $i; $j < scalar(@data); $j++) {
$hash1{ $data[$i] }{ $data[$j] } = 0;
$hash2{ $data[$i] }{ $data[$j] } = 0;
$hash3{ $data[$i] }{ $data[$j] } = 0;
}
}
print "Finished building hashes\n";
while ( my ($key1, $val1) = each %hash1 ) {
while ( my ($key2, $val2) = each %$val1 ) {
print join(
"\t",
$key1,
$key2,
$hash1{$key1}{$key2},
$hash2{$key1}{$key2},
$hash3{$key1}{$key2}
), "\n";
}
}
####
use strict;
my %hash1;
my %hash2;
my %hash3;
my @data = (0 .. 5000);
for (my $i = 0; $i < scalar(@data); $i++ ) {
for (my $j = $i; $j < scalar(@data); $j++) {
$hash1{ $data[$i] }{ $data[$j] } = 0;
$hash2{ $data[$i] }{ $data[$j] } = 0;
$hash3{ $data[$i] }{ $data[$j] } = 0;
}
}
print "Finished building hashes\n";
while ( my ($key1, $val1) = each %hash1 ) {
while ( my ($key2, $val2) = each %$val1 ) {
print join(
"\t",
$key1,
$key2,
$hash1{$key1}{$key2},
$hash2{$key1}{$key2},
$hash3{$key1}{$key2}
), "\n";
}
delete $hash1{$key1};
delete $hash2{$key1};
delete $hash3{$key1};
}