in reply to Perl modules confusion

Hi,

I'm using Ubuntu myself and I'm new at Perl so I'm not able to comment on the 'cleaning up' process but I can make two observations.

Debian has a perlmodule naming system that tries to match (after a fashion) the module names, by sticking a lib in front of the it. e.g. DBD::mysql is libdbd-mysql-perl

Apt-cache search searches your repositories and you can use this to find what modules are available, e.g.

apt-cache search libdbi

outputs the following and has allowed me to guess at the modules I needed

libdbi-perl - Perl5 database interface by Tim Bunce libdbd-freetds - Freetds database server driver for libdbi libdbd-mysql - MySQL database server driver for libdbi libdbd-pgsql - PostgreSQL database server driver for libdbi libdbd-sqlite - SQLite database driver for libdbi libdbd-sqlite3 - SQLite3 database driver for libdbi libdbi-doc - DB Independent Abstraction Layer for C -- documentation libdbi-ruby - Database Independent Interface for Ruby libdbi-ruby1.8 - Database Independent Interface for Ruby 1.8 libdbi0 - Database Independent Abstraction Layer for C libdbi0-dev - DB Independent Abstraction Layer for C -- development f +iles libdbicx-testdatabase-perl - Create a temporary database from a DBIx:: +Class::Schema libdbix-abstract-perl - DBI SQL abstraction libdbix-class-datetime-epoch-perl - Automatic inflation/deflation of e +poch-based DateTime objects for DBIx::Class libdbix-class-htmlwidget-perl - Like FromForm but with DBIx::Class and + HTML::Widget libdbix-class-perl - Extensible and flexible object <-> relational map +per libdbix-class-schema-loader-perl - Dynamic definition of a DBIx::Class +::Schema libdbix-contextualfetch-perl - Add context aware fetches to DBI libdbix-datasource-perl - Database-independent create and drop functio +ns libdbix-dbschema-perl - Database-independent schema objects libdbix-easy-perl - Easy to Use DBI Interface libdbix-fulltextsearch-perl - Indexing documents with MySQL as storage libdbix-password-perl - Perl module for creating a global password fil +e for DB passwords libdbix-profile-perl - DBI query profiler libdbix-recordset-perl - Perl extension for DBI recordsets libdbix-searchbuilder-perl - Encapsulate SQL queries and rows in simpl +e perl objects libdbix-sequence-perl - A simple SQL92 ID generator libdbix-xml-rdb-perl - perl module for creating XML from a DBI datasou +rce libdbix-xmlmessage-perl - perl module for exchanging XML messages betw +een DBI data sources

The debian team do say if you can't find ask and they'll build. I'm starting to think I might 'roll my own' and learn the CPAN way, but was going to discuss it on Perlmonks first.

As I say, I'm a noob and I had similar issues re modules but feel free to disregard my comments and definitely pay attention to what others suggest here (especially if it contradicts what I've said - chances are it's me that's in error).

I've had this node pointed out to me by Elisheva : http://www.perlmonks.org/?node_id=753416 it discusses debian/CPAN in detail

Replies are listed 'Best First'.
Re^2: Perl modules confusion
by brother_leto (Initiate) on Jun 25, 2009 at 21:35 UTC
    I also just started using Perl with Ubuntu. I had been used to installing modules from CPAN, but after a couple of failed builds (involving some modules with C code which reacted badly to my AMD_64 architecture) I decided to give the Ubuntu package manager a shot. It's definitely a nicer interface, rather like Activestate's Perl Package Manager -- you just install the pre-compiled binaries, with no worries about builds failing.

    However: those nice pre-compiled binaries are not guaranteed to be built from the latest source available on CPAN, and they are not guaranteed to be compatible with whatever modules you've downloaded from CPAN. I had been using Hardy Heron, and ran into rather painful version compatibility issues with some of the SMTP, IMAP, and SSL modules. Upgrading to Jaunty Jackalope fixed the issues, albeit at some cost.

    Bottom Line: The Ubuntu package manager is nice for installing pre-compiled Perl modules, but BE CAREFUL mixing those modules with modules from CPAN -- there may be version compatibility issues.