Subject: | in DBI-1.44, DBI::DBD::dbd_dbi_arch_dir always calls VMS::Filespec unixify, vmsify |
NOTE: This is in re DBI-1.44, _NOT_ 1.43, which is the highest available to select in RT
Perl v5.8.5
uname = SunOS xxxxxxx 5.8 Generic_117350-07 sun4u sparc SUNW,Sun-Fire-V250
When attempting to install DBD::mysql after installing DBI-1.44, Makefile.PL died with "Undefined subroutine &DBI::DBD::unixify".
When comparing code for DBI::DBI::dbd_dbi_arch_dir it is clear that a problem was swapped. 1.43 does not account for VMS, while 1.44 assumes VMS.
The relevant diff of v1.43 against v1.44 is:
3741,3742c3741,3742
< my @try = map { "$_/auto/DBI" } @INC;
< my @xst = grep { -f "$_/Driver.xst" } @try;
---
Show quoted text
> my @try = map { vmsify( unixify($_) . "/auto/DBI/" ) } @INC;
> my @xst = grep { -f vmsify( unixify($_) . "/Driver.xst" ) } @try;
These need to be combined as in
3741,3742c3741,3749
< my @try = map { vmsify( unixify($_) . "/auto/DBI/" ) } @INC;
< my @xst = grep { -f vmsify( unixify($_) . "/Driver.xst" ) } @try;
---
Show quoted text> my @try;
> my @xst;
> if ($^O eq 'VMS') {
> @try = map { vmsify( unixify($_) . "/auto/DBI/" ) } @INC;
> @xst = grep { -f vmsify( unixify($_) . "/Driver.xst" ) } @try;
> } else {
> @try = map { "$_/auto/DBI" } @INC;
> @xst = grep { -f "$_/Driver.xst" } @try;
> }