vis1982 has asked for the wisdom of the Perl Monks concerning the following question:

This node falls below the community's minimum standard of quality and will not be displayed.

Replies are listed 'Best First'.
Re: match and count the number of times
by cdarke (Prior) on May 24, 2010 at 12:12 UTC
    @array2 =~ /$code/; will give you a warning. Did you read the warning message? You cannot test an RE against an array like that.
    grep is sometimes useful for that, but in your case you need another solution, of which there are many.

    Here is mine:
    #!/usr/bin/perl use strict; # Always use strict use warnings; # Always test the return value from open open(my $fh1,"file1.txt") or die "Unable to open file1:$!"; my @array1=<$fh1>; close($fh1); chomp @array1; # Create a hash using the code values from file1 my %hash; @hash{@array1} = undef; # Create an RE pattern from code values from file1 my $pattern = join ('|', @array1); open(my $fh2,"file2.txt") or die "Unable to open file2:$!";; # If we find the code, increment the count in the hash for my $line (<$fh2>) { chomp $line; if ($line =~ /($pattern)/) { $hash{$1}++; } } close($fh2); # Print out the hash for my $code (keys %hash) { print "$code $hash{$code}\n" }
Re: match and count the number of times
by choroba (Cardinal) on May 24, 2010 at 10:31 UTC
    # is missing in the shebang line. I am not sure what OS uses vertical bar to separate directories in path, either.
Re: match and count the number of times
by Corion (Patriarch) on May 24, 2010 at 10:26 UTC

    So, where do you have problems?