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

This:

chomp(my @HANT = <$handle>); ... plan tests => scalar @hant;

Perl is case sensitive, unless otherwise stated for details. @HANT and @hant are different arrays.

perl -le'print map{pack c,($-++?1:13)+ord}split//,ESEL'

Replies are listed 'Best First'.
Re^8: Counting matches
by Nicpetbio23! (Acolyte) on May 29, 2017 at 17:45 UTC
    #!/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

      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'