NetWallah has asked for the wisdom of the Perl Monks concerning the following question:
This issue has been discussed in the thread DBI, Windows and Perl56.dll error but I don't think that thread identified the root cause.
The symptom: The simplest DBI open connection causes the popup message box complaining about the missing "perl56.dll", and the open fails. Basically, DBI is broken at this point.
DBI and ODBC guts are implemented in \Perl\site\lib\auto\DBI\DBI.dll and \Perl\site\lib\auto\Win32\ODBC\ODBC.dll.
These dll's have perl<version>.dll hard-coded in them, where <version> is the version of PERL that the DBI and ODBC modules were installed with.
Hence, if you upgraded from perl 5.6 to 5.8, and did not re-install the modules, they would still want to link to the old perl DLL, and fall apart, if the old perl was absent.
Moral of the story - Re-install all modules when you install perl.
Side-story : my ppm no longer works - it complains about no valid targets, although all target settings are legitimate. Hence, I have had to manually re-install modules. Hope this helps the next monk who encounters this.
Cheers