]> git.donarmstrong.com Git - biopieces.git/blobdiff - bp_bin/grab
renamed patternmatcher to dynamic
[biopieces.git] / bp_bin / grab
index 8728f81a352868047b72b964c3104c8c08266e7a..85063dec0234c82d30e481b15948fd55fc47ef37 100755 (executable)
@@ -28,6 +28,7 @@
 
 use warnings;
 use strict;
+use Data::Dumper;
 use Maasha::Biopieces;
 use Maasha::Common;
 use Maasha::Patscan;
@@ -181,13 +182,17 @@ sub grab_patterns
 
     # Returns boolean.
 
-    my ( $pattern );
+    my ( $pattern, $key );
 
     foreach $pattern ( @{ $patterns } )
     {
         if ( $keys )
         {
-            map { return 1 if index( $record->{ $_ }, $pattern ) >= 0 } @{ $keys };
+            foreach $key ( @{ $keys } )
+            {
+                return 0 if not exists $record->{ $key };
+                return 1 if index( $record->{ $key }, $pattern ) >= 0;
+            }
         }
         else
         {
@@ -223,7 +228,7 @@ sub grab_regex
 
     if ( $keys )
     {
-        map { return 1 if $record->{ $_ } =~ /$regex/ } @{ $keys };
+        map { return 1 if exists $record->{ $_ } and $record->{ $_ } =~ /$regex/ } @{ $keys };
     }
     else
     {