Learn how to write your first website using Perl and Dancer in under a minute!
This is a lightning talk given at a Tel Aviv Perl Mongers (TA.pm) group meeting.
Let's find an interesting module
● Go to CPAN
● Search for something funny in Text::
● We found Text::UpsideDown
● It turns text upside down!
● OMGZ0x0ztrzzzz11!
Text::UpsideDown
use Text::UpsideDown;
my $text = “Hello world!”;
my $updown = upside_down($text);
● Okay, that's pretty simple
Creating the skeleton
● Dancer installs an app called “dancer”
● Run it to create a directory structure
● Pretty default design for free!
Adding code
● Edit main path in lib/UpsideDown.pm
# default path
get '/' => sub {
# code to run when someone goes
# to the main page
};
Adding code
● Suppose we get user text with a parameter
● Use Dancer's “params” to reach it
● If it's called “text”, all we have to do is...
my $text = params>{'text'};
● Then to turn it upside down...
my $updown = upside_down($text);
What do we have so far?
● Someone reaches main page
● We get text and turn it upside down
use Text::UpsideDown;
get '/' => sub {
my $text = params>{'text'};
my $updown = upside_down($text);
...
};
Rendering it
● Render template “view/index.tt”
● Send it the original text and the upside down
template index => {
text => $text,
upsidedown => $updown,
};
Putting it all together
use Text::UpsideDown;
get '/' => sub {
my $text = params>{'text'};
my $updown = upside_down($text);
template index => {
text => $text,
upsidedown => $updown,
};
};
Now the template
● Edit index.tt file
● Add a form to send text
● Add a text input to write the text
● Display the upside down text
● Provide a button to submit more text
● …
● Profit!