Building web-sites used to be lots of work. To begin with, you'd need to install a web server. Then you needed to figure out sessions, and cookies, and parsing URLs. If you were lucky, you had a framework to handle all those things for you. But one of the best things about Perl is that you can often sit down and start writing code straight away. Wouldn't it be great if we could do the same with websites? Well, with Dancer , you can. Hello World Writing a basic web-server in Dancer is pretty darn easy: use Dancer; get '/' =&gt; sub { return 'Hello World!'; }; start; Dancer comes with its own web-server for rapid development, so running this code is as simple as saving it to a file and running it: The set keyword allows us to set parameters in Dancer. In this case, we're saying that we're going to be using Template::Toolkit as our templating engine. The template keyword has Dancer look inside the views/ directory for the specified file - in our case, that's trills.tt . The hash reference passed to template provides parameters to our template; in this case, we're passing the results from get_trills() (which we'll see later), and a title of 'Trillr'. This provides a simple Trill me input if we're on a user's page. Since this is a bare-bones example, we're not going to do any authentication; if you post to this page, then you'll post as the user in question. But