Task::BeLike::FIBO -- Leonardo Pisano a.k.a. Fibonacci
cpan Task::BeLike::FIBO perldoc Task::BeLike::FIBO
Hi! I am FIBO an italian mathematician. I graduated in 2005 at Università degli Studi di Genova and since then I work doing Business Intelligence and Web Analytics. My boss said: you need Perl. So I started using this language. I like many programming languages, but, Perl really help me to pay my rent.
This is a primary about my habits when I write Perl code.
Do not get crazy with automatic generators. I am a mathematician and a coder, not a corporation. Every package is different and has different needings. The followings are samples for files I usually need in a package.
Just use copy and paste and your brain!
The smack of a DRY KISS is not that bad.
Learn from nature: stay as minimal as possible.
Start a feature branch
git checkout -b somefeature
Write documentation about new feature. Then write tests to check it and code to implement it.
Run tests
prove -l --state=save
If some test does not pass, fix code and run tests that failed
prove -l --state=save,failed
Merge feature branch and commit work
git rebase master git checkout master git merge somefeature git push
Create new version package
perl Makefile.PL make make test make manifest make dist make realclean
Upload to PAUSE
Just do it manually! Yes, using your browser ... and remember to delete old files.
README.md
My-Package ========== My-Package description ... See [online docs](https://metacpan.org/pod/My::Package) -------- [![Build Status](https://travis-ci.org/fibo/My-Package-pm.png?branch=master)](https://travis-ci.org/fibo/My-Package-pm) [![Coverage Status](https://coveralls.io/repos/fibo/My-Package-pm/badge.png?branch=master)](https://coveralls.io/r/fibo/My-Package-pm?branch=master) [![CPAN version](https://badge.fury.io/pl/My-Package-pm.svg)](https://metacpan.org/pod/My::Package)
.travis.yml
language: perl perl: - "5.18" - "5.16" - "5.14" - "5.12" - "5.10" - "5.8"
.gitignore
.* *~ !.gitignore !.travis.yml blib pm_to_blib Makefile* !Makefile.PL MANIFEST* !MANIFEST.SKIP *META.* *.tar.gz
Makefile.PL
use strict; use warnings; use ExtUtils::MakeMaker 6.64; WriteMakefile( ABSTRACT_FROM => 'lib/My/Package.pm', VERSION_FROM => 'lib/My/Package.pm', AUTHOR => 'G. Casati <fibo@cpan.org>', NAME => 'My-Package', META_MERGE => { resources => { homepage => 'https://metacpan.org/pod/My::Package' license => 'http://fibo.mit-license.org/', repository => 'http://github.com/fibo/My-Package-pm', bugtracker => 'http://github.com/fibo/My-Package-pm/issues', }, PREREQ_PM => { # 'Some::Package' => '0', # 'Other::Package' => '1.2.3', }, test => { TESTS => 't/*.t' }, TEST_REQUIRES => { 'Test::Compile' => '1', 'Test::More' => '1', 'Test::Pod' => '1', }, );
MANIFEST.SKIP
^\. .*\.old$ \.tar\.gz$ ^Makefile$ ^MYMETA\. ^blib ^pm_to_blib
CPAN
See how to setup A CPAN client that works like a charm.
ExtUtils::MakeMaker version 6.64, cause I use the TEST_REQUIRES option.
6.64
TEST_REQUIRES
Perl::Tidy
Use Perl::Tidy defaults. Do not indent every source file automatically, indent by hand and use your creativity.
See Perl section in My Vim preferences to see how you can use perltidy with Vim.
Test::Compile
Create a t/_compile.t file
t/_compile.t
use strict; use warnings; use Test::More; eval "use Test::Compile"; Test::More->builder->BAIL_OUT(<<EOF) if $@; Test::Compile required for testing compilation EOF all_pm_files_ok();
Test::More
Test::Pod
Create a t/_pod.t file
t/_pod.t
use strict; use warnings; use Test::More; eval "use Test::Pod"; Test::More->builder->BAIL_OUT(<<EOF) if $@; Test::Pod required for testing compilation EOF all_pod_files_ok();
To install Task::BeLike::FIBO, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Task::BeLike::FIBO
CPAN shell
perl -MCPAN -e shell install Task::BeLike::FIBO
For more information on module installation, please visit the detailed CPAN module installation guide.