Subject: Re: Cwd::cwd() bug??? on Cygwin
From: Nick Ing-Simmons <[email-masked]>
To: [email-masked]
Cc: [email-masked], [email-masked], [email-masked]
Date: Fri, 21 Nov 2003 10:41:08 +0000

Randy W. Sims <[email-masked]> writes:
>On 11/15/2003 10:56 AM, Randy W. Sims wrote:
>> Ok, this might in fact be a Cygwin problem. Cygwin & Cwd. The following 
>> produces the error "Usage: Cwd::cwd() at Module.pm line 6." under Cygwin 
>
>Ok, I finally had a chance to look into this one. Finding the problem 
>was easy, but I don't know the proper solution. The problem seems to be 
>that Module::Build call cwd() with the object syntax which passes self 
>as an argument. In the perl sources (cygwin/cygwin.c), the builtin cwd 
>does this check:
>
>   if(items != 0)
>     Perl_croak(aTHX_ "Usage: Cwd::cwd()");
>
>and fails on Cygwin because apparently Cygwin is the only OS that 
>performs this check. What is the proper way to fix this? Is there a way 
>Module::Build could work around this problem?

Yes - it could use Cwd::cwd() as documented - call it as a function 
not a method!

>
>Randy.
>
>> -----><8-----
>> # Module.pm
>> package Module;
>> 
>> sub new {
>>   my $p = shift;
>>   $p->cwd;
>> }
>> 
>> sub cwd {
>>   require Cwd;
>>   Cwd::cwd;
>> }
>> 
>> 1;
>> -----><8-----
>> 
>> -----><8-----
>> # test.pl
>> package MyModule;
>> use Module;
>> use base 'Module';
>> use Cwd;
>> 
>> package main;
>> MyModule->new;
>> -----><8-----
>> 

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/