Pelo jeito preciso estudar mais isso. Referencias? Em 9/1/2011 20:56, Eden Cardim escreveu:
"Prof" == Prof Benedito A Cruz<[email protected]> writes:Prof> Não entendi porque seria uma gambiarra... Dá uma olhada no source do ModPerl::RegistryCooker, que é quem efetivamente converte scripts cgi em handlers de mod_perl, em particular, a subrotina convert_script_to_compiled_handler, que contém esse trecho de código: my $eval = join '', 'package ', $self->{PACKAGE}, ";", "sub handler {", "local \$0 = '$script_name';", $nph, $shebang, $line, ${ $self->{CODE} }, "\n}"; # last line comment without newline? Se você quiser mesmo usar mod_perl, a forma correta é escrever um handler tipo esse: http://search.cpan.org/~gozer/mod_perl-2.0.4/docs/user/intro/start_fast.pod#Handler_Modules Uma alternativa mais "moderna" é escrever tua aplicação usando um middleware como o Plack, que é uma implementação de PSGI. Aí você vai conseguir implantar tua aplicação nos ambientes CGI, FastCGI, mod_perl (1 e 2), ou até transformar sua aplicação num servidor HTTP standalone o que significa que você nem vai precisar de apache (ou qualquer outro web server), isso tudo sem mecher em nada do código da aplicação. É bem simples, você escreve algo assim: http://search.cpan.org/perldoc?Plack#.psgi_files E pra implantar no mod_perl2, você usa isso: http://search.cpan.org/perldoc?Plack::Handler::Apache2 O recomendável mesmo, é além disso, você usar um framework como Catalyst, Web::Simple, Mojo ou Dancer. Todos eles tem suporte a PSGI e por isso, rodam em qualquer lugar onde o Plack conseguir rodar.
-- This message has been scanned for viruses and dangerous content by MailScanner, and is believed to be clean. =begin disclaimer Sao Paulo Perl Mongers: http://sao-paulo.pm.org/ SaoPaulo-pm mailing list: [email protected] L<http://mail.pm.org/mailman/listinfo/saopaulo-pm> =end disclaimer
