Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP

Minimal-effort oriented web application framework for Perl (inspired by Ruby's Sinatra)

Fetching latest commit…

Octocat-spinner-32-eaf2f5

Cannot retrieve the latest commit at this time

Octocat-spinner-32 lib
Octocat-spinner-32 script
Octocat-spinner-32 t
Octocat-spinner-32 .gitignore
Octocat-spinner-32 .perltidyrc
Octocat-spinner-32 AUTHORS
Octocat-spinner-32 CHANGES
Octocat-spinner-32 MANIFEST
Octocat-spinner-32 Makefile.PL
Octocat-spinner-32 README
Octocat-spinner-32 ROADMAP
Octocat-spinner-32 TODO
README
                                    Dancer

                  The easiest way to write a webapp with Perl                                    

=== ABOUT ===

That project intends to become a port of Ruby's Sinatra
framework: a framework for building web application with
minimal-effort in mind. The user should be able to define a
webapp with very few lines of codes.

=== NEWS === 

Dancer's development moves very fast, to stay tuned follow 
sukria on Twitter: http://twitter.com/sukria

=== EXAMPLE ===

To create a new Dancer application, use the helper script "dancer" provided
with this distribution:

    $ dancer -a mywebapp
    + mywebapp 
    + mywebapp/config.yml
    + mywebapp/views
    + mywebapp/views/layouts
    [..]

You have then a new Dancer application in 'mywebapp'.

Here is an example of a webapp built with Dancer:

    # webapp.pl
    #!/usr/bin/perl

    use Dancer;

    get '/' => sub {
        "Hello There!"
    };

    get '/hello/:name' => sub {
        "Hey ".params->{name}.", how are you?";
    };

    post '/new' => sub {
        "creating new entry: ".params->{name};
    };

    Dancer->dance;

When running this script, a webserver is running and ready to serve:    

    $ perl ./webapp.pl
    >> Listening on 127.0.0.1:3000
    == Entering the development dance floor ...

Then it's possible to access any route defined in the script:

    $ curl http://localhost:3000/
    Hello There!


=== DEPENDENCIES ===

Dancer depends on the following modules

    - HTTP::Server::Simple
    - HTTP::Body
    - Exception::Class

Optional modules may be needed if you want to use soem
features (but are not required for a basic usage). 
Dependency-checks are performed at runtime.

Most common modules you may want are:

	- Template (for Template::Toolkit support)
	- YAML (for configuration files)
	- Plack (if you want to deploy your application with
	  PSGI)

=== PRODUCTION MATTERS ===

This is a work in progress.

Dancer supports PSGI/Plack, to run a Dancer app with PSGI/Plack
just bootstrap your application with the helper script
`dancer' like the following:

	$ dancer -a MyWebApp

You'll find a file in there called `app.psgi', use this file
to configure your PSGI environment, as explained in the
revelant documentation of your PSGI server.


=== WEBSITE ===

For more details about the project, checkout the official website:
http://dancer.sukria.net or checkout the documentation at
http://search.cpan.org/dist/Dancer/

=== CONTACT ===

You can reach the development team on IRC: irc.perl.org,
chan #dancer

Something went wrong with that request. Please try again.