sub diff {
        local ($file1, $file2) = @_;

        # return false if we can't open a file
        return (0) unless open (FILE1, "$file1");
        return (0) unless open (FILE2, "$file2");
        while (1) {
                $line1 = <FILE1>;
                $line2 = <FILE2>;
                if ($line1 eq "") {
                        $retval = ($line2 eq "");
                        last;
                }
                if ($line2 eq "" || $line1 ne $line2) {
                        $retval = 0;
                        last;
                }
        }
        # you should use close here, as this subroutine may
        # be called many times
        close (FILE1);
        close (FILE2);
        # ensure that the return value is the last evaluated
        # expression
        $retval;
}
