Die für Ubuntu bereitgestellten CPAN-Pakete sind leider nicht sonderlich zahlreich und auch nicht immer ganz taufrisch. 
Die Installation mittels 
perl -MCPAN -e shell
ignoriert das Debian-Package-Management leider vollständig. Für gestandene Systemadminstratoren ein Alptraum.
Erfreulicherweise gibt es mehrere Möglichkeiten aktuelle CPAN-Module für Debian basierte Linuxe im Einklang mit dem Debian-Paketmanagement zu installieren.
- Debianisierte CPAN-Pakete
- cpan2dist
- dh-make-perl  
Methode 1: Debianisierte CPAN-Pakete
Für die Installation von CPAN-Modulen auf Debian basierten Linuxen gibt es bereits aktuelle debianisierte CPAN-Pakete bei http://debian.pkgs.cpan.org/.
Schritt 1: /etc/apt/sources.list anpassen
Dazu einfach folgende Zeile in /etc/apt/sources.list einfügen
deb http://debian.pkgs.cpan.org/debian unstable main
Schritt 2: Repository-Liste aktualisieren
$ sudo apt-get update
....
Ign http://debian.pkgs.cpan.org unstable Release.gpg               
Ign http://debian.pkgs.cpan.org unstable/main Translation-de
Ign http://debian.pkgs.cpan.org unstable Release
Ign http://debian.pkgs.cpan.org unstable/main Packages
Hole:1 http://debian.pkgs.cpan.org unstable/main Packages [32,6kB]
Es wurden 32,6kB in 1s geholt (19,6kB/s)
Paketlisten werden gelesen... Fertig
Schritt 3: Repository durchsuchen
Alle Debian-CPAN-Pakete sind mit dem Prefix cpan- gekennzeichnet, so kann man sie von den Standardpaketen unterscheiden.
$ apt-cache search cpan-
bioperl - Perl tools for computational molecular biology
libcpan-distnameinfo-perl - Extract distribution name and version from a distribution filename
libcpan-mini-perl - create a minimal mirror of CPAN
libparse-cpan-packages-perl - Perl module to parse 02packages.details.txt.gz
libtest-reporter-perl - sends test results to cpan-testers@perl.org
liblingua-en-numbers-ordinate-perl - Perl-Modul zur Konvertierung von Kardinalzahlen in Ordinalzahlen
.....
Schritt 4: CPAN-Module installieren
Beispiel YAML installieren
$ sudo apt-get install cpan-libyaml-perl
Paketlisten werden gelesen... Fertig
Abhängigkeitsbaum wird aufgebaut       
Reading state information... Fertig
Die folgenden NEUEN Pakete werden installiert:
  cpan-libyaml-perl
0 aktualisiert, 1 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
Es müssen noch 0B von 47,6kB Archiven geholt werden.
After this operation, 381kB of additional disk space will be used.
WARNUNG: Die folgenden Pakete können nicht authentifiziert werden!
  cpan-libyaml-perl
Diese Pakete ohne Überprüfung installieren [j/N]? j
Wähle vormals abgewähltes Paket cpan-libyaml-perl.
(Lese Datenbank ... 187518 Dateien und Verzeichnisse sind derzeit installiert.)
Entpacke cpan-libyaml-perl (aus .../cpan-libyaml-perl_0.66-1_all.deb) ...
Richte cpan-libyaml-perl ein (0.66-1) ...
Prüfen, ob das Paket installiert wurde.
$ dpkg -l | grep cpan-libyaml
ii  cpan-libyaml-perl	0.66-1	YAML Ain't Markup Language (tm)
Installierte YAML-Version prüfen:
$ perl -MYAML -le "print YAML->VERSION";
0.66
Ein Blick auf YAML auf CPAN, zeigt uns, das die aktuelle Version installiert wurde. 
So einfach geht's. Sehr schön.
Parallele Installation der Pakete
Es ist ohne weiteres möglich, debianisierte CPAN-Pakete und Ubuntu Pakete gleichzeitig zu installieren.
$ sudo apt-get install libyaml-perl
$ sudo apt-get install cpan-libyaml-perl
$ dpkg -l | grep yaml
ii  cpan-libyaml-perl	0.66-1	YAML Ain't Markup Language (tm)
ii  libyaml-perl	0.62-1	YAML Ain't Markup Language (tm)
Die beiden Module werden in unterschiedliche Verzeichnisstrukturen installiert, was sich einfach prüfen lässt.
$ dpkg -L libyaml-perl
...
 /usr/share/doc/libyaml-perl 
 /usr/share/perl5/YAML.pm
...
$ dpkg -L cpan-libyaml-perl
...
/usr/share/doc/cpan-libyaml-perl 
/usr/local/share/perl/5.8.8/YAML  
...
Welche Modulversion verwendet wird, hängt vom @INC ab, i.d.R. wird die debianisierte CPAN-Paket-Version vor der Ubuntu-Version geladen.
Das gilt auch für mitgelieferte Komandozeilen-Tools.
$ which ysh 
/usr/local/bin/ysh
$ dpkg -S  /usr/local/bin/ysh 
cpan-libyaml-perl: /usr/local/bin/ysh
$ dpkg -S  /usr/bin/ysh 
libyaml-perl: /usr/bin/ysh
Welches der beiden Tools verwendet wird, hängt von der Umgebungsvariable $PATH ab.
Methode 2: Debian-Pakete mit cpan2dist selbst erstellen
Wer jetzt immer noch nicht fündig geworden ist, kann mit cpan2dist auch selbst Debian-Pakete erstellen.
Zunächst die benötigten Pakete installierten
$ sudo apt-get install cpan-libcpanplus-perl            
$ sudo apt-get install cpan-libcpanplus-dist-build-perl
$ sudo apt-get install cpan-libcpanplus-dist-deb-perl
Beispiel: Debian-Paket für HTML::Template::Compiled erstellen 
cpan2dist kann auch alle Abhängigkeiten auflösen (--buildprereq).
$ cpan2dist --format CPANPLUS::Dist::Deb --buildprereq HTML::Template::Compiled
...
Created 'CPANPLUS::Dist::Deb' distribution for HTML::Template::Compiled to:
~/.cpanplus/5.8.8/dist/debian/main/pool/cpan-lib/h/cpan-libhtml-template-compiled-perl/cpan-libhtml-template-compiled-perl_0.91-1_all.deb
Ins das o.g. Verzeichnis wechseln
$ cd ~/.cpanplus/5.8.8/dist/debian/main/pool/cpan-lib/h/cpan-libhtml-template-compiled-perl
$ ls
cpan-libhtml-template-compiled-perl_0.91-1_all.deb  cpan-libhtml-template-compiled-perl_0.91-1_i386.changes
cpan-libhtml-template-compiled-perl_0.91-1.diff.gz  cpan-libhtml-template-compiled-perl_0.91.orig.tar.gz
cpan-libhtml-template-compiled-perl_0.91-1.dsc
und das Paket inspizieren
$ dpkg -I cpan-libhtml-template-compiled-perl_0.91-1_all.deb
 neues Debian-Paket, Version 2.0.
 Größe 66034 Byte: control-Archiv= 1454 Byte.
     405 Byte,    11 Zeilen      control              
    3328 Byte,    35 Zeilen      md5sums              
 Package: cpan-libhtml-template-compiled-perl
 Version: 0.91-1
 Architecture: all
 Maintainer: cpanplus@example.com
 Installed-Size: 452
 Depends: libpathtools-perl | cpan-libpathtools-perl, libtest-simple-perl | cpan-libtest-simple-perl, perl (>= 5.8.8)
 Provides: libhtml-template-compiled-perl
 Section: perl
 Priority: optional
 Description: Simple and fast templating module
  Simple and fast templating module
Das CPAN-Modul kann jetzt mit dpkg installiert werden.
$ sudo dpkg -i cpan-libhtml-template-compiled-perl_0.91-1_all.deb 
Wähle vormals abgewähltes Paket cpan-libhtml-template-compiled-perl.
(Lese Datenbank ... 188201 Dateien und Verzeichnisse sind derzeit installiert.)
Entpacke cpan-libhtml-template-compiled-perl (aus cpan-libhtml-template-compiled-perl_0.91-1_all.deb) ...
Richte cpan-libhtml-template-compiled-perl ein (0.91-1) ...
Prüfen ob das Paket installiert wurde.
$ dpkg -l | grep compiled
ii  cpan-libhtml-template-compiled-perl	0.91-1 Simple and fast templating module
Noch schnell die installierte HTML::Template::Compiled Version prüfen:
$ perl -MHTML::Template::Compiled -le "print HTML::Template::Compiled->VERSION";
0.91
Cool!
Methode 3: dh-make-perl
dh-make-perl   ist eine weitere einfache Möglichkeit CPAN-Pakete zu debianisieren.
Zunächst  dh-make-perl installieren
$ sudo apt-get install dh-make-perl
Beispiel: Debian-Paket für HTML::Template erstellen 
$ mkdir /tmp/debian/
$ cd /tmp/debian/
$ dh-make-perl --build --cpan HTML::Template
...
$  ls -l
drwxr-xr-x 7  ...  HTML-Template-2.9
-rw-r--r-- 1  ...    libhtml-template-perl_2.9-1_all.deb
und das Paket inspizieren
dpkg -I libhtml-template-perl_2.9-1_all.deb 
 neues Debian-Paket, Version 2.0.
 Größe 64106 Byte: control-Archiv= 1044 Byte.
    1052 Byte,    24 Zeilen      control              
     554 Byte,     7 Zeilen      md5sums              
 Package: libhtml-template-perl
 Version: 2.9-1
 Architecture: all
 Maintainer: .............
 Installed-Size: 208
 Depends: perl (>= 5.6.0-16)
 Section: perl
 Priority: optional
 Homepage: http://search.cpan.org/dist/HTML-Template/
 Description: Perl module to use HTML Templates from CGI scripts
  This module attempts to make using HTML templates simple and natural.
  It extends standard HTML with a few new HTML-esque tags - <TMPL_VAR>,
  <TMPL_LOOP>, <TMPL_INCLUDE>, <TMPL_IF>, <TMPL_ELSE> and <TMPL_UNLESS>.
  The file written with HTML and these new tags is called a template.
  It is usually saved separate from your script - possibly even created
  by someone else!  Using this module you fill in the values for the
  variables, loops and branches declared in the template.  This allows
  you to separate design - the HTML - from the data, which you generate
  in the Perl script.
  .
  This module is licensed under the GPL.  See the LICENSE section
  below for more details.
  .
  This description was automagically extracted from the module by dh-make-perl.
Das CPAN-Modul kann jetzt mit dpkg installiert werden.
$ sudo dpkg -i libhtml-template-perl_2.9-1_all.deb 
Welche der drei Methoden soll ich verwenden?
Hier meine persönliche Vorgehensweise:
- Top-Favorit:debianisierte CPAN-Pakete.
- cpan2dist, falls ich mit Methode 1 nicht fündig werde. 
- dh-make-perl  verwende ich so gut wie nie.