http://www.perlmonks.org?node_id=1007869


in reply to Re^5: partial match between 2 files
in thread partial match between 2 files

I am comparing two files using hash and then checking each character by character.But even now when the position of the words are altered or some words are deleted from either files the error uninitialised value is coming

Replies are listed 'Best First'.
Re^7: partial match between 2 files
by Kenosis (Priest) on Dec 08, 2012 at 16:15 UTC

    The script that you write needs to insure that only matching words are compared for difference. You can place the code that inserts a "+" at the first string difference position into a subroutine that can be called from anywhere within your script. For example:

    use strict; use warnings; my $string1 = 'amayaM'; my $string2 = 'amayamAn'; my $result = firstStrDiff( $string1, $string2 ); print $result, "\n"; sub firstStrDiff { my ( $s1, $s2 ) = @_; ( $s1 ^ $s2 ) =~ /[^\x00]/; substr( $s2, $-[0], 0 ) = '+' if defined $-[0]; return $s2; }

    Output:

    amaya+mAn

    This can help you focus on just the remaining code that aligns the words you want send to this subroutine.

    Hope this helps!

      How can i do a partial match between a word inputted through STDIN and a list of words in a file and print the partial matched word from the file.

        How can i ...

        Write some code? STDIN is just a filehandle, readline from it