Perl::Box - is a ready to use Codio box. Start coding now!

CPAN version Build Status


Go to Codio. Create a project. Choose Perl5 stack. Start coding!


Perl::Box is a Task, a.k.a. Bundle distribution containing most used CPAN stuff needed for coding. Perl-Box is a Codio box. They are used to create a Codio stack that you can use to start coding Perl immediately.


I really got addicted with Codio. During 2015 CPAN Pull Request Challenge, Niel Bowers assigned me a task on a distribution, so I had to prepare a shared development environment to work on Bot::Training. Compiling latest Perl and distributions like Moose and Dist::Zilla with all its dependencies takes time. There were no Perl based Codio stack.

So, since 2+2=4, I wanted a ready to use Perl Box to start coding immediately.


How to add or update distributions included? Fork this, edit the Makefile.PL and send a pull request.

Note that versions reported are those in the Perl Box actually.


Wanna create your own Perl Box? It will take few minutes.

Perl Box is created from Codio default stack. Create a Codio project and open a Terminal.


Use dotsoftware to install latest Perl. Just copy and paste the following commands.

    # get latest .software
    git clone
    # source it in your profile and in current session
    [ -f ~/.bash_profile ] && grep 'source ~/.software/etc/profile' ~/.bash_profile || echo 'source ~/.software/etc/profile' >> ~/.bash_profile && source ~/.software/etc/profile
    # install latest Perl
    .software_install Perl
    # you are done!

Configure a CPAN client that works like a charm.


Install what you need from CPAN, for instance

    cpan Perl::Box


Choose vim as default editor

    # Needed by git commit -a
    echo export EDITOR=vim >> ~/.bash_profile

Minimal vim configuration

    cat >> ~/.vimrc <<EOF
    " my Perl preferences
    autocmd filetype perl map <F2> :%!perltidy<CR> " indent
    autocmd filetype perl map <F3> :!prove -l<CR>  " run tests
    autocmd filetype perl setlocal autoindent
    autocmd filetype perl setlocal expandtab
    autocmd filetype perl setlocal shiftwidth=4
    autocmd filetype perl setlocal tabstop=4

    " use perltidy for .pl, .pm, and .t
    au BufRead,BufNewFile *.pl setl equalprg=perltidy
    au BufRead,BufNewFile *.pm setl equalprg=perltidy
    au BufRead,BufNewFile *.t setl equalprg=perltidy


This software is copyright (c) 2015 by G. Casati.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.