Ok all I/O works with this filehandle, but seems like require don't like it.

Any ideas why??.

-Sharad

-----Original Message-----
From: Gupta, Sharad 
Sent: Sunday, August 10, 2003 12:59 PM
To: Steve Grazzini
Cc: [EMAIL PROTECTED]
Subject: RE: Ok I am tired


>> IO::Stringy (non-core module) was the old way to do it...

Don't work for me.

I modified the sub to look like:

sub Foo::Inc {

        ...............
        my $module = $response->content();
        my $fh = new IO::Scalar \$module;
        return $fh;

}

And i can't find the module.

-Sharad



-----Original Message-----
From: Steve Grazzini [mailto:[EMAIL PROTECTED]
Sent: Saturday, August 09, 2003 10:32 PM
To: Gupta, Sharad
Cc: [EMAIL PROTECTED]
Subject: Re: Ok I am tired


On Sat, Aug 09, 2003 at 08:57:54PM -0700, Gupta, Sharad wrote:
>> You're supposed to return a filehandle:
> 
> Yep. But i am using the temp files for doing that. And i 
> would love to get rid of the temp files altogether.
> 
>> open my $fh, '<', \($response->content);
> 
> Seems like we are opening a filehandle to a string. Very 
> difficult to convince my sysadmin to get to 5.8 soon. Any 
> other suggestions to get rid of those temp files. I hate 
> them.

IO::Stringy (non-core module) was the old way to do it...

>> I'd also suggest caching the downloaded modules
> 
> Give me a little of your magical sight -:)  

It's not secure, but in a safe environment you could write
$res->content to some cache directory.  Then before downloading
anything, just check the cache.

>> And by the way, does anybody know offhand why the subroutine 
>> name needs to be fully-qualified in the declaration?  
> 
> Require says:
> 
> Note that you must fully qualify the sub's name, as it is
> always forced into package main.

Yeah, that seems strange.

I suppose that *INC is "special", for the sake of %INC and
@INC...  But I didn't expect it to force the subroutine 
declaration into main:: as well.

-- 
Steve

Reply via email to