Evyn has asked for the wisdom of the Perl Monks concerning the following question:

Hi, I have just installed DBI and DBD::ODBC on my NT box running ActiveState (thanks to PodMaster for telling me how). When I tried to run my script I got a message box telling me perl58.dll is missing. So I found it in the TinyPerl distribution and unzipped it to \system32. All very well and fine, but when I try to run my script now I get a Dr Watsons... Is my perl58.dll corrupt? What's the story?
use DBI; use DBD::ODBC; $|=1; map { print "Data sources for $_: " . join(" ", DBI->data_sources($_)). " " } grep(!/ADO|template/, DBI->available_drivers);

Replies are listed 'Best First'.
Re: perl script & dr watson
by PodMaster (Abbot) on Dec 23, 2003 at 15:43 UTC
    What's the story?
    You're doing Very bad things (ever see that movie?). However that TinyPerl dll was compiled, it's not quite compatible with your DBI binaries (not suprising).

    Get rid of the TinyPerl dll. Find your perl58.dll that came with activeperl (one did come, find it, if you can't download activeperl => http://downloads.activestate.com), make sure that your %PATH% contains the path to the dll (if it's right next to the perl binary, and perl is in your path, it's all good).

    If that doesn't work out for you, reinstall.

    BTW, There is also the possibility that DBI (or whatever's actually triggering bad things dr. watson shows up for) is to blame (a real bug), but that's probably not the case here.

    MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
    I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
    ** The third rule of perl club is a statement of fact: pod is sexy.

      Lol - you wont believe this, but I cannot find the ActiveState perl58.dll ANYWHERE on my HD. I have done a search and the only one that shows up is the TintPerl version...

        It is normally installed to the same path where your perl.exe is situated. Maybe you should deaktivate the point "don't show systemfiles" in Explorer -> Extras -> Options -> view (I don't know the exact englisch names because I have only got a german windows here), and then do the search again.

        but your way is a very difficult way if you just want to run your code on a machine where perl is not installed. I prefer packing the code to an executable with the CPAN-Module PAR

        Best regards,
        perl -e "s>>*F>e=>y)\*martinF)stronat)=>print,print v8.8.8.32.11.32"