#!/usr/bin/perl use CGI::Carp qw(warningsToBrowser fatalsToBrowser); use JSON::RPC::Server::CGI; use strict; use Data::Dumper; my $server = JSON::RPC::Server::CGI->new; $server->dispatch('Myapp')->handle(); The Myapp.pm is #!/usr/bin/perl package Myapp; use base qw(JSON::RPC::Procedure); # Perl 5.6 or more than use strict; use Data::Dumper; sub test : Public(u1:str){ my ($s, $obj) = @_; my $u1 = $obj->{u1}; return $u1; } 1;