in reply to Re^7: Counting matches
in thread Counting matches

#!/usr/bin/env perl use strict; use warnings; use Test::More; use File::Slurp; #Counter.pl open my $handle, '<', "/home/nic/Desktop/5-27-17/Genomes_used_HANT.txt +"; chomp(my @HANT = <$handle>); close $handle; my @counts = (0,1,2,3,4,5,6,7,8,9,10); plan tests => scalar @HANT; my $nrt2 = read_file("/home/nic/Desktop/5-27-17/NRT2.txt"); for my $hant (@HANT) { my $matches = () = $nrt2 =~ /$hant/g; is ($matches, shift @counts, "Number of matches found for $hant"); }
Ok this works now and correctly returns count. The only problem is that it returns errors and extra junk as well. How do I get rid of it? Why does it show expected values?
nic@nic-VirtualBox:~/Desktop/5-27-17$ perl Counter.pl 1..612 ok 1 - Number of matches found for Laesu1 ok 2 - Number of matches found for Patat1 not ok 3 - Number of matches found for Hydru2 # Failed test 'Number of matches found for Hydru2' # at Counter.pl line 18. # got: '1' # expected: '2' not ok 4 - Number of matches found for Armost1 # Failed test 'Number of matches found for Armost1' # at Counter.pl line 18. # got: '0' # expected: '3' not ok 5 - Number of matches found for Pacta12 # Failed test 'Number of matches found for Pacta12' # at Counter.pl line 18. # got: '1' # expected: '4'
I just want this for example.
Number of matches found for Pacta12: 1 Number of matches found for Armost1: 0

Replies are listed 'Best First'.
Re^9: Counting matches
by shmem (Chancellor) on May 29, 2017 at 20:37 UTC

    Adjust the @counts array to reflect the actually expected matches. From the output the test script delivers, you can tell ("got: ") it should be:

    my @counts = (0, 1, 1, 0, 1, ...); # ... is a placeholder for any othe +r values
    perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'