use warnings; use strict; use JSON; my $shared_memory_variable = ...; # Create shared mem with IPC::Shareable my $data = { a => 1, b => [ 1, 2, 3 ], c => { z => 99, y => 98, x => { m => 'hello, world!' }, }, }; # Create JSON string and store it in the shared memory allocation $shared_memory_variable = encode_json $data; # Restore the shared memory JSON to a Perl data structure my $perl = decode_json $shared_memory_variable;