http://www.perlmonks.org?node_id=893089

If you're developing for CGI/CGI::Simple (or testing snippets from perlmonks), this starts a webserver accessible through http://localhost/ and operates much like mod_cgi for apache (fork + execute)

long options

plackup --listen localhost:80 --loader Shotgun -MPlack::App::WrapCGI - +e " Plack::App::WrapCGI->new( script => q{test.cgi} ) "
same command using short options
plackup -l localhost:80 -L Shotgun -MPlack::App::WrapCGI -e " Plack::A +pp::WrapCGI->new( script => q{test.cgi} ) "
You develop test.cgi like normal, the only exception being that you either use my or our where appropriate ( see mod_perl: CGI to mod_perl Porting. mod_perl Coding guidelines. The First mystery)
See also
plackup
Plack::App::WrapCGI
Plack::Loader::Shotgun
http://plackperl.org/ PSGI/Plack - Perl Superglue for Web Frameworks and Web Servers
Plack Advent Calendar