use strict;
use warnings;
my @array = ("x y.g z 123", "a b.f c 456","a b.f c 456" ); #added lots more on the runs through smallprof.
my @include = ("b","q");
my @keep;
my %testHash = map { $_,1} @include;
for my $tmp (@array){
my @tokens = split /\s+/,$tmp;
my ($test,$rubbish) = split /\./, $tokens[1],2;
if (exists $testHash{$test}) {
push (@keep, $tmp);
};
}
print keys %testHash , "\n";
print "@keep";
####
================ SmallProf version 2.02 ================
Profile of main.pl Page 1
=================================================================
count wall tm cpu time line
0 0.00000 0.00000 1:use strict;
0 0.00000 0.00000 2:use warnings;
0 0.00000 0.00000 3:
1 0.00091 0.00000 4:my @array = ("x y.g z 123", "a b.f c 456",
1 0.00000 0.00000 5:my @include = ("b","q");
1 0.00000 0.00000 6:my @keep;
0 0.00000 0.00000 7:
0 0.00000 0.00000 8:
1 0.00001 0.00000 9:my %testHash = map { $_,1} @include;
0 0.00000 0.00000 10:
1 0.00000 0.00000 11:for my $tmp (@array){
1404 0.00507 0.07800 12: my @tokens = split /\s+/,$tmp;
1404 0.00034 0.03200 13: my ($test,$rubbish) = split /\./,
1404 0.00282 0.01500 14: if (exists $testHash{$test}) {
0 0.00000 0.00000 15: push (@keep, $tmp);
0 0.00000 0.00000 16: };
0 0.00000 0.00000 17:}
0 0.00000 0.00000 18:
1 0.00013 0.00000 19:print keys %testHash , "\n";
1 0.10416 0.00000 20:print "@keep";
####
================ SmallProf version 2.02 ================
Profile of main.pl Page 1
=================================================================
count wall tm cpu time line
0 0.00000 0.00000 1:use strict;
0 0.00000 0.00000 2:use warnings;
0 0.00000 0.00000 3:
1 0.00092 0.00000 4:my @array = ("x y.g z 123", "a b.f c 456",
1 0.00000 0.00000 5:my @include = ("b","q");
1 0.00000 0.00000 6:my @keep;
0 0.00000 0.00000 7:
0 0.00000 0.00000 8:
1 0.00001 0.00000 9:my %testHash = map { $_,1} @include;
0 0.00000 0.00000 10:
1 0.00000 0.00000 11:for my $tmp (@array){
1404 0.00347 0.06300 12: my @tokens = split /\s+/,$tmp;
1404 0.00007 0.03000 13: my ($test,$rubbish) = split /\./,
1404 0.00046 0.00000 14: if (exists $testHash{$test}) {
0 0.00000 0.00000 15: push (@keep, $tmp);
0 0.00000 0.00000 16: };
0 0.00000 0.00000 17:}
0 0.00000 0.00000 18:
1 0.00019 0.00000 19:print keys %testHash , "\n";
1 0.11720 0.00000 20:print "@keep";