Ok i solved it this way:
--------------------------------------
package Foo;
use strict;
use LWP::UserAgent;
use File::Temp qw(tempfile);
sub import {
push @INC, Foo->new();
}
sub new {
return bless {},shift;
}
# Keep a track of all files opened.
my @temp_files;
sub Foo::INC {
my ($self,$filename) = @_;
my @paths = "http:/me.com";
my @urls = map{$_ . "/" . [EMAIL PROTECTED];
my $ua = LWP::UserAgent->new();
foreach my $url(@urls) {
my $request = HTTP::Request->new($url);
my $response = $ua->request($request);
if($response->is_success()) {
my ($fh,$filename) = tempfile();
print $fh $response->content();
close($fh);
open($fh,$filename)
and push @temp_files,$filename
and return $fh;
}
}
return undef;
}
sub DESTROY {
unlink @temp_files;
}
--------------------------------------
And now my script looks like:
-----------------------------------------
#!/usr/local/bin/perl
use Foo;
use Bar;
---------------------------------------
And it works!! -:).
Please let me know for if u have better ideas.
Thanx,
-Sharad
-----Original Message-----
From: Gupta, Sharad
Sent: Friday, August 08, 2003 10:50 PM
To: [EMAIL PROTECTED]
Subject: Ok I am tired
Hi All,
I am really tired now:
--------------------------------------
package Foo;
use strict;
use LWP::UserAgent;
sub new {
return bless {},shift;
}
sub Foo::INC {
my ($self,$filename) = @_;
my @paths = "http:/me.com";
my @urls = map{$_ . "/" . [EMAIL PROTECTED];
my $ua = LWP::UserAgent->new();
foreach my $url(@urls) {
my $request = HTTP::Request->new($url);
my $response = $ua->request($request);
if($response->is_success()) {
return $response->content();
}
}
return undef;
}
--------------------------------------
What i am trying to do is hook into the @INC so that i can find the modules via http,
but a simple test like:
--------------
#!/usr/local/bin/perl
BEGIN { push @INC,Foo->new() }
use Bar;
-------------
Cannot find Bar.pm.
Any ideas??.
-Sharad