in reply to Find a Position and Insert Text
Because I'm sick of trying to solve my own problems. :P
#!/usr/bin/env perl use strictures; use JSON; use Data::Dump "dump"; use Test::More; my $in = decode_json '{"OWNER":"KeyProjects","Region":"Southern","Dist +rict":"Arid","PLANTNO":"Sunset View","COMPT":"A08","age1":null,"ht1": +null,"age2":null,"ht2":null,"age3":null,"ht3":null,"age4":null,"ht4": +null,"age5":null,"ht5":null,"age6":null,"ht6":null,"age1":null,"ht1": +null,"age2":null,"ht2":null,"age3":null,"ht3":null,"age4":null,"ht4": +null,"age5":null,"ht5":null,"age6":null,"ht6":null,"wc":"EF1"}'; my $out = decode_json '{"OWNER":"KeyProjects","Region":"Southern","Dis +trict":"Arid","PLANTNO":"Sunset View","COMPT":"A08","scheduled":{"age +1":null,"ht1":null,"age2":null,"ht2":null,"age3":null,"ht3":null,"age +4":null,"ht4":null,"age5":null,"ht5":null,"age6":null,"ht6":null},"co +mpleted":{"age1":null,"ht1":null,"age2":null,"ht2":null,"age3":null," +ht3":null,"age4":null,"ht4":null,"age5":null,"ht5":null,"age6":null," +ht6":null},"wc":"EF1"}'; my $planned = qr/\A (?: age\d+ | ht\d+ ) \z/x; my $corrected = $in; for my $key ( keys %{$corrected} ) { if ( $key =~ $planned ) { $corrected->{completed}{$key} = $corrected->{scheduled}{$key} += delete $corrected->{$key}; } } # print dump $in; is_deeply $out, $corrected, "Corrected data matches expectations"; diag encode_json $corrected; done_testing();
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^2: Find a Position and Insert Text
by jlb333333 (Novice) on Mar 16, 2016 at 18:32 UTC | |
by Your Mother (Archbishop) on Mar 16, 2016 at 20:44 UTC | |
by Corion (Patriarch) on Mar 17, 2016 at 07:49 UTC | |
by Your Mother (Archbishop) on Mar 17, 2016 at 17:28 UTC | |
by jlb333333 (Novice) on Mar 19, 2016 at 11:24 UTC | |
by Your Mother (Archbishop) on Mar 20, 2016 at 19:20 UTC | |
by jlb333333 (Novice) on Mar 21, 2016 at 19:21 UTC | |
|