have available ‣ perlbrew available - shows list of perls that are available to install ‣ perlbrew alias perl-5.18.0 newest - alias an existing perl to a better name
have available ‣ perlbrew available - shows list of perls that are available to install ‣ perlbrew alias perl-5.18.0 newest - alias an existing perl to a better name ‣ perlbrew uninstall perl-5.6.1
have available ‣ perlbrew available - shows list of perls that are available to install ‣ perlbrew alias perl-5.18.0 newest - alias an existing perl to a better name ‣ perlbrew uninstall perl-5.6.1 - delete older perl installs
not depend on perl, written in bash • less invasive to environment • specifically made to work with Carton • (more about that later) • I only just learned about it :)
just like perlbrew ‣ plenv global 5.16.2 - sets the perl for all shells ‣ plenv shell 5.8.2 - can be use temporarily (only in this shell) ‣ plenv local 5.18.0
just like perlbrew ‣ plenv global 5.16.2 - sets the perl for all shells ‣ plenv shell 5.8.2 - can be use temporarily (only in this shell) ‣ plenv local 5.18.0 - sets the perl to be used in $CWD using .perl-version file
you can exec via plenv ‣ plenv install-cpanm - also comes with useful utilities for cpanm ‣ plenv migrate-modules 5.8.2 5.18.0 - and useful means of transfering module installs
local perl modules ‣ use local::lib “~/foo”; - will look in ~/foo for local perl modules ‣ perl -Mlocal::lib=~/foo script.pl - or you can use it from the command line
local perl modules ‣ use local::lib “~/foo”; - will look in ~/foo for local perl modules ‣ perl -Mlocal::lib=~/foo script.pl - or you can use it from the command line ‣ PERL_MB_OPT PERL_MM_OPT PERL5LIB
local perl modules ‣ use local::lib “~/foo”; - will look in ~/foo for local perl modules ‣ perl -Mlocal::lib=~/foo script.pl - or you can use it from the command line ‣ PERL_MB_OPT PERL_MM_OPT PERL5LIB - or configure your environment to automatically use it
- install from the internet into system perl (note the sudo) ‣ curl -L http://cpanmin.us | perl - App::cpanminus - install in a non-system (local) perl
- install from the internet into system perl (note the sudo) ‣ curl -L http://cpanmin.us | perl - App::cpanminus - install in a non-system (local) perl ‣ perlbrew install-cpanm
- install from the internet into system perl (note the sudo) ‣ curl -L http://cpanmin.us | perl - App::cpanminus - install in a non-system (local) perl ‣ perlbrew install-cpanm - of course, this is simpler if you are using perlbrew
- install from the internet into system perl (note the sudo) ‣ curl -L http://cpanmin.us | perl - App::cpanminus - install in a non-system (local) perl ‣ perlbrew install-cpanm - of course, this is simpler if you are using perlbrew ‣ perl -MCPAN -i App::cpanminus
- install from the internet into system perl (note the sudo) ‣ curl -L http://cpanmin.us | perl - App::cpanminus - install in a non-system (local) perl ‣ perlbrew install-cpanm - of course, this is simpler if you are using perlbrew ‣ perl -MCPAN -i App::cpanminus - do it the old fashioned way
Plack/Request.pm - install the distribution this module belongs too ‣ cpanm MIYAGAWA/Plack-1.0000.tar.gz - install a tar ball from CPAN ‣ cpanm /path/to/Plack-1.0000.tar.gz
Plack/Request.pm - install the distribution this module belongs too ‣ cpanm MIYAGAWA/Plack-1.0000.tar.gz - install a tar ball from CPAN ‣ cpanm /path/to/Plack-1.0000.tar.gz - install a tar ball from disk
from the internet ‣ cpanm git://github.com/plack/Plack.git - install from a git repository ‣ cpanm git://github.com/plack/[email protected] - install a specific tag from a git repository
from the internet ‣ cpanm git://github.com/plack/Plack.git - install from a git repository ‣ cpanm git://github.com/plack/[email protected] - install a specific tag from a git repository ‣ cpanm git://github.com/plack/Plack.git@devel
from the internet ‣ cpanm git://github.com/plack/Plack.git - install from a git repository ‣ cpanm git://github.com/plack/[email protected] - install a specific tag from a git repository ‣ cpanm git://github.com/plack/Plack.git@devel - install a specific branch from a git repository
cpanm Plack~”>= 1.0000, < 2.0000” - install the latest member of the 1.xxxx family ‣ cpanm [email protected] - install a specific version (same as Plack~"== 0.9990")
the tests don’t pass ‣ cpanm --notest Moose - save time and skip tests (if you know they pass) ‣ cpanm --reinstall Plack - force an re-install of an existing package
the tests don’t pass ‣ cpanm --notest Moose - save time and skip tests (if you know they pass) ‣ cpanm --reinstall Plack - force an re-install of an existing package ‣ cpanm --uninstall Plack
the tests don’t pass ‣ cpanm --notest Moose - save time and skip tests (if you know they pass) ‣ cpanm --reinstall Plack - force an re-install of an existing package ‣ cpanm --uninstall Plack - this is experimental, but does its best to un-install
but not checked into version control • Uses a cpanfile to keep track of depdencies • allows for module version to be frozen • modules can be installed elsewhere using cpanfile
but not checked into version control • Uses a cpanfile to keep track of depdencies • allows for module version to be frozen • modules can be installed elsewhere using cpanfile • will install exactly the version or version range you tell it too
but not checked into version control • Uses a cpanfile to keep track of depdencies • allows for module version to be frozen • modules can be installed elsewhere using cpanfile • will install exactly the version or version range you tell it too • can create “cache” for installing on machine with no network
but not checked into version control • Uses a cpanfile to keep track of depdencies • allows for module version to be frozen • modules can be installed elsewhere using cpanfile • will install exactly the version or version range you tell it too • can create “cache” for installing on machine with no network • don’t take my word for it ...
separate from you VCS and (possibly) non-local • Repositories can be copied into “stacks” • similar to branching in VCS and good for testing upgrades • modules can be “pinned”
separate from you VCS and (possibly) non-local • Repositories can be copied into “stacks” • similar to branching in VCS and good for testing upgrades • modules can be “pinned” • prevents all upgrade (even accidental upgrade)
separate from you VCS and (possibly) non-local • Repositories can be copied into “stacks” • similar to branching in VCS and good for testing upgrades • modules can be “pinned” • prevents all upgrade (even accidental upgrade) • can also manage non-CPAN dependencies
separate from you VCS and (possibly) non-local • Repositories can be copied into “stacks” • similar to branching in VCS and good for testing upgrades • modules can be “pinned” • prevents all upgrade (even accidental upgrade) • can also manage non-CPAN dependencies • useful if you structure your application like a CPAN distro