Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/usr/bin/perl
- use warnings;
- use strict;
- use Data::Dumper;
- sub parse_post_data($) {
- my $data_str = shift;
- return "" if ($data_str eq "");
- my @matches = $data_str =~ /\"([^=]*)\"\s*?=\s*?>\"([^"}]*)\"/g;
- my %matches_hash = @matches;
- if (%matches_hash) {
- #print Dumper(\%matches_hash) . "\n";
- }
- return %matches_hash;
- }
- my $first_submission='{"param1"=>"val1", "param2"=>"val2", "param3"=>{"param4"=>"value4", "param5"=>"value5"}, "param6"=>"model1[field1],model1[field2]"}';
- my $second_submission='{"param1"=>"new_value1", "param2"=>"val2", "param3"=>{"param4"=>"new_value4", "param5"=>"value5"}, "param6"=>"model1[diff_field1],model1[field2]"}';
- my %first_submission_data = parse_post_data($first_submission);
- my %second_submission_data = parse_post_data($second_submission);
- foreach my $key (keys %first_submission_data) {
- if ($first_submission_data{$key} ne $second_submission_data{$key}) {
- print "Value of $key is different. " .
- "It was '$first_submission_data{$key}', now it is '$second_submission_data{$key}'\n";
- }
- }
- # will output:
- # Value of param4 is different. It was 'value4', now it is 'new_value4'
- # Value of param6 is different. It was 'model1[field1],model1[field2]', now it is 'model1[diff_field1],model1[field2]'
- # Value of param1 is different. It was 'val1', now it is 'new_value1'
Add Comment
Please, Sign In to add comment