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

I have a simple test program ran on Windows Server 2003 R2:
use Net::DNS; print Net::DNS->version, "\n";
I got 2 same pop-up windows:

"This application has failed to start because perl58.dll was not found. re-installing the application may fix this problem."

It printed out "0.66"(version) after I clicked "OK" button on the error message window.

The perl version installed is ActivePerl 5.12.1. Why does it ask for perl58.dll? I tried to put perl58.dll under perl lib folder. It just crashed. I tried reinstall ActivePerl and didn't fix that problem.

I can run this program on the other computer(Windows Server 2003, ActivePerl 5.12.1) without error message.

Is it possible to disable pop-up error message window so the program can run without interruption? (I found it called C:\Perl\site\lib\Carp.pmc after it failed to find perl58.dll in all possible folders)

Thanks for any help!

Replies are listed 'Best First'.
Re: Why does Net::DNS ask for perl58.dll?
by Corion (Patriarch) on Aug 27, 2010 at 15:10 UTC

    Most likely you installed a new Perl version over an old Perl version, and have some old, leftover DLLs lying around somewhere that link against perl5.8.8.dll (among others). Windows will try to load these DLLs, fail, and then try some other DLL that then works. Clean up your machine.

      I cleaned up and reinstalled Perl. It did fix the problem!

      Thank you so much!