I think this may be a problem with the dependencies of DBI::Shell, which allows it to be installed before DBI. This may have happened to me as I was using a CPAN autobundle to install stuff.
This is under 5.8.0 on Solaris 2.6.1. I'm guessing that the stub DBI::Shell supplied with DBI is broken by the fact that the real DBI::Shell is found first? Debug trace of the failed test follows. By removing lib/perl5/site_perl/5.8.0/DBI/Shell* the problem was fixed, and DBI tested and installed okay. Greg DB<1> n ok 1 main::(t/70shell.t:33): my $sh = DBI::Shell::Std->new(qw(dbi:ExampleP:)); DB<1> n DBI::Shell 11.03 using DBI 1.32 main::(t/70shell.t:34): ok(0,1); DB<1> l 34==> ok(0,1); 35 36: $sh->load_plugins; 37: ok(0,1); 38 39 40 41: BEGIN { $tests = 3 } 42 DB<1> n ok 2 main::(t/70shell.t:36): $sh->load_plugins; DB<1> n Loading DBI::Shell::Timing Loading DBI::Shell::SQLMinus Loading DBI::Shell::FindSqlFile Loading DBI::Shell::Spool Loading DBI::Shell::Completion Can't locate object method "install_options" via package "DBI::Shell::Std" at /homeusr/local/lib/perl5/site_perl/5.8.0/DBI/Shell/Timing.pm line 16. DBI::Shell::Timing::init ('DBI::Shell::Timing','DBI::Shell::Std=HASH(0x2dcf8c)') called at /homeusr/alleng/.cpan/build/DBI-1.32/blib/lib/DBI/Shell.pm line 141 DBI::Shell::Base::load_plugins('DBI::Shell::Std=HASH(0x2dcf8c)') called at t/70shell.t line 36 Debugged program terminated. Use q to quit or R to restart, use O inhibit_exit to avoid stopping after program termination, h q, h R or h O to get additional info. DB<1> q % ll /homeusr/local/lib/perl5/site_perl/5.8.0/DBI* /homeusr/local/lib/perl5/site_perl/5.8.0/DBI: total 80 drwxr-xr-x 2 alleng devler 96 Jan 16 16:59 Format/ -r-xr-xr-x 1 alleng devler 16882 Dec 13 23:44 Format.pm* drwxr-xr-x 2 alleng devler 8192 Jan 16 16:59 Shell/ -r-xr-xr-x 1 alleng devler 43894 Dec 13 23:44 Shell.pm* /homeusr/local/lib/perl5/site_perl/5.8.0/DBIx: total 24 drwxr-xr-x 4 alleng devler 8192 Jan 16 16:58 DBSchema/ -r-xr-xr-x 1 alleng devler 10621 Sep 19 13:05 DBSchema.pm* Diese Nachricht ist vertraulich. Sie ist ausschliesslich fuer den im Adressfeld ausgewiesenen Adressaten bestimmt. Sollten Sie nicht der vorgesehene Empfaenger sein, so bitten wir um eine kurze Nachricht. Jede unbefugte Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Da wir nicht die Echtheit oder Vollstaendigkeit der in dieser Nachricht enthaltenen Informationen garantieren koennen, schliessen wir die rechtliche Verbindlichkeit der vorstehenden Erklaerungen und Aeusserungen aus. Wir verweisen in diesem Zusammenhang auch auf die fuer die Bank geltenden Regelungen ueber die Verbindlichkeit von Willenserklaerungen mit verpflichtendem Inhalt, die in den bankueblichen Unterschriftenverzeichnissen bekannt gemacht werden. This message is confidential and may be privileged. It is intended solely for the named addressee. If you are not the intended recipient please inform us. Any unauthorised dissemination, distribution or copying hereof is prohibited. As we cannot guarantee the genuineness or completeness of the information contained in this message, the statements set forth above are not legally binding. In connection therewith, we also refer to the governing regulations of WestLB concerning signatory authority published in the standard bank signature lists with regard to the legally binding effect of statements made with the intent to obligate WestLB.