use warnings;
use strict;
use JSON;
use Data::Dumper;
my $original = '{"OWNER":"KeyProjects","age1":null,"ht1":null}';
####
my $data = decode_json($original);
print Dumper $original;
print Dumper $desired;
print Dumper $data;
for my $key ( keys % {$data} )
####
{
print "Found a key: $key", $/;
if ( $key =~ /\A (?: age\d+ | ht\d+ ) \z/x )
{
print " -> It matches our regular expression\n";
print " -> Deleting it from data structure\n";
my $value = delete $data->{$key};
####
print Dumper $key;
####
print Dumper $value;
####
print " -> Putting it back under sub-structure with key 'scheduled'\n";
$data->{scheduled}{$key} = $value;
####
print Dumper $key;
print Dumper $value;
print Dumper $data;
}
else
{
print " -> It's fine where it is, no action taken\n";
print Dumper $key;
print Dumper $data;
}
}
print encode_json( $data ), $/;
use Test::More;
my $desired_data = decode_json( $desired );
is_deeply( $desired_data, $data, "Data structures match" );
done_testing(1);