$mod =~ s{::}{/}g; $mod .= '.pm'; #### #!/usr/bin/env perl use strict; use warnings; use Data::Dumper; my $json = q/{"hello":["world","collegues"]}/; print Dumper $_ for map { +{ module => $_, input => $json, output => $_->new->decode($json), } } grep { m/^JSON::(?:PP|XS)$/ && eval "require $_" } @ARGV; #### davido@davido-desktop:~/scripts$ perl mytest.pl JSON::XS JSON::PP Disallowed::Module $VAR1 = { 'input' => '{"hello":["world","collegues"]}', 'output' => { 'hello' => [ 'world', 'collegues' ] }, 'module' => 'JSON::XS' }; $VAR1 = { 'input' => '{"hello":["world","collegues"]}', 'module' => 'JSON::PP', 'output' => { 'hello' => [ 'world', 'collegues' ] } };