Iniciando desenvolvimento web ágil com Perl (Mojolicious)
Publicado por Daniel Vinciguerra (última atualização em 06/06/2016)
[ Hits: 4.731 ]
Homepage: http://bivee.com.br
Você ainda usa *cgi-lib.pl ou a *CGI.pm para desenvolver paginas de internet em Perl? A propósito; você ainda usa CGI para desenvolver alguma coisa para a web?
O CGI apesar de ser uma forma "simples" de criar sistemas web, é péssimo para a performance, desperdiçando um recurso precioso do seu servidor.
Então eu vou lhe apresentar o *Mojolicious!
Mojolicious é um framework moderno para desenvolvimento ágil de aplicações web que torna o trabalho de escrever estes softwares muito, mas muitooooo mais simples, rápido e divertido.
Com poucas linhas você pode começar a escrever sua primeira página e o melhor de tudo é que ele já conta com um servidor de desenvolvimento e produção, tudo junto na caixa! :)
Não vou abordar todos os recursos possíveis com ele (são muitos mesmo), mas podemos mostrar um exemplo de formulário para ilustrar como é simples trabalhar com o Mojo...
PRÉ-REQUISITOS
- perl 5.10 ou superior
- Módulo Mojolicious instalado
REFERÊNCIAS:
cgi-lib.pl - http://cgi-lib.berkeley.edu/
CGI.pm - http://metacpan.org/pod/CGI
Mojolicious - http://mojolicious.org/
EXECUTANDO:
morbo agile-webdev.pl
Deverá aparecer algo parecido com:
Server available at http://127.0.0.1:3000
#!/usr/bin/env perl
use Mojolicious::Lite;
# action GET: http://localhost:3000/
get '/' => 'index';
# action GET: http://localhost:3000/form
get '/form' => { message => '' } => 'form';
# action POST: http://localhost:3000/form
post '/form' => sub {
my $c = shift;
# pegando parâmetros do formulário
my $texto = $c->param('texto') || '';
# definindo uma variável do template
$c->stash( mensagem => $texto );
# renderizando o template @@ form.html.ep
$c->render('form');
};
app->start;
# templates
__DATA__
@@ index.html.ep
<p><a href="/form">Link para o form</a></p>
@@ form.html.ep
<form method="post">
<p>Digite alguma coisa no form:</p>
<p><input type="text" name="texto"></p>
<p><button type="submit">Enviar</button></p>
</form>
<% if (stash('mensagem')) { %>
<p>A mensagem digitada foi <%= stash('mensagem') %></p>
<% } %>
Perl Check Port - Entenda melhor os sockets
Localizador de palavras em arquivos nao binarios
Script para fazer buscas no arquivo de logs do squid
Pesquisar palavras no Diário Oficial da União
Nenhum comentário foi encontrado.
Gentoo: detectando impressoras de rede e como fixar uma impressora por IP
Como o GNOME conseguiu o feito de ser preterido por outras interfaces gráficas
Gentoo binário em 2026: UEFI, LUKS, Btrfs e Systemd
Trabalhando Nativamente com Logs no Linux
Jogando Daikatana (Steam) com Patch 1.3 via Luxtorpeda no Linux
Por que sua empresa precisa de uma PKI (e como automatizar EMISSÕES de certificados via Web API)
Instalando NoMachine no Gentoo com Systemd (acesso Remoto em LAN)
Gentoo: Trocando wpa_supplicant pelo iwd no NetworkManager (Systemd)
O que houve com slackware ??? (12)
Alterar conteúdo de dica [RESOLVIDO] (3)
Vou destruir sua infância:) (5)









