#mapping between columns with conflicts and their new values. my %conflicts = (); #mapping between the columns with warnings and their new values. my %warnings = (); while ( my ( $columnname, $new_value ) = each %$new_values ) { #We know there is a conflict on VERSION and it is not interresting next if $columnname eq 'VERSION'; my $old_value = $old_values->{ $columnname }; my $database_value = $database_values->{ $columnname }; #all the values are the same, no conflict next if $database_value eq $new_value; #changed by user and updated in database, a sure conflict. if ( $new_value ne $old_value && $database_value ne $old_value ) { $conflicts{ $columnname } = $new_value; next; } #no other test was true, then either changed by user or #in the database. That consitutes a warning. $warnings{ $columnname } = $new_value } #### my $hex_string = unpack "H16", $version;