Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl Monk, Perl Meditation

Re: pattern matching and array comparison

by GrandFather (Saint)
on Jun 13, 2005 at 22:28 UTC ( #466308=note: print w/replies, xml ) Need Help??

in reply to pattern matching and array comparison

Using a hash is probably a better way to do it. Something like this may be what you want:

use warnings; use strict; my %Ids; open (IDS, "$ARGV[0]") or die "unable to open file $!\n"; while (<IDS>) { chomp; $Ids {$_} = undef; } close IDS; open (GENES, "$ARGV[1]") or die "unable to open file $!\n"; my @genes; while (<GENES>) { if (/^>/) { unshift @genes, substr "$_ ", 1; } else { $genes[0] .= $_; } } close GENES; foreach my $gene (@genes) { my ($id) = $gene =~ /^(.*?)[,\s]/g; next if ! defined $id; ++$Ids{$id}; } foreach (sort keys %Ids) { print "$_\n" if defined $Ids{$_}; }

Assumes sample data given in original node.

dbj|BA000040|:2701685-2702539 gi|11995001:156374-156649

Perl is Huffman encoded by design.

Log In?

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://466308]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others drinking their drinks and smoking their pipes about the Monastery: (3)
As of 2021-12-02 21:30 GMT
Find Nodes?
    Voting Booth?
    R or B?

    Results (25 votes). Check out past polls.