Adriano Ferreira wrote:
> On 9/25/07, Michael G Schwern <[EMAIL PROTECTED]> wrote:
>> Rafael Garcia-Suarez wrote:
>>> I just committed change 31968 to ExtUtils::MM_Unix to add dragonfly to
>>> the list of BSD-like OSes. See
>>> http://public.activestate.com/cgi-bin/perlbrowse/p/31968
>>>
>>> But while doing so, I noticed that the statement was buggy anyway, so I
>>> fixed that too:
>>> http://public.activestate.com/cgi-bin/perlbrowse/p/31969
>> What was buggy about it?
>
> $Is_SunOS = $Is_SunOS4 || $Is_Solaris;
> - $Is_BSD = $^O =~ /^(?:free|net|open)bsd$/ or
> - $^O eq 'bsdos' or $^O eq 'interix' or $^O eq 'dragonfly';
> + $Is_BSD = $^O =~
> /^(?:(?:free|net|open)bsd|bsdos|interix|dragonfly)$/;
>
> The former would never set $Is_BSD for 'bsdos', 'interix' and
> 'dragonfly' but only evaluate " $^O eq 'foo' " in void context.
Ahh. I've patched it like this because that regex makes my eyes water.
--- lib/ExtUtils/MM_Unix.pm (revision 32278)
+++ lib/ExtUtils/MM_Unix.pm (local)
@@ -35,8 +35,9 @@
$Is_SunOS4 = $^O eq 'sunos';
$Is_Solaris = $^O eq 'solaris';
$Is_SunOS = $Is_SunOS4 || $Is_Solaris;
- $Is_BSD = $^O =~ /^(?:free|net|open)bsd$/ or
- $^O eq 'bsdos' or $^O eq 'interix';
+ $Is_BSD = ($^O =~ /^(?:free|net|open)bsd$/ or
+ grep( $^O eq $_, qw(bsdos interix dragonfly) )
+ );
--
Robrt: People can't win
Schwern: No, but they can riot after the game.