in reply to Re: Checking MD5 of files in directory with corresponding MD5 file type
in thread Checking MD5 of files in directory with corresponding MD5 file type

To save from creating a completely new thread, I am going to ask a question here, under the code I posted, and hope someone knowledgable reads it.

In the comparison operation 'if ( $md5_string =~ $md5 ){', would it be better to write it as 'if ( $md5 =~ $md5_string ){'

Replies are listed 'Best First'.
Re^3: Checking MD5 of files in directory with corresponding MD5 file type
by Anonymous Monk on Dec 31, 2016 at 15:41 UTC
    Think about it, what do the strings contain? Will "md2" =~ "md1\nmd2\nmd3\n" match?

      Well, the $md5_string, as the variable name insists, contains thousands of md5s in a single string. To me it would make better sense for the lhs to be $md5 and rhs be $md5_string, which is saying "does this files $md5 match anywhere in the long list of md5's". So logically, I would assume it would be better written as 'if ( $md5 =~ /.*$md5_string.*/ ){' but in previous attempts to get it to work like that it failed. maybe it is because of how I were comparing. Ill go back and retry when I get home.

        Maybe what you're thinking is chomp(@md5_file); my $md5_re = join "|", map quotemeta, @md5_file; and then later if ($md5=~/^($md5_re)$/){.

        But why not use a hash?