Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > Perl > Perl Misc > Problems with using Autoloader

Reply
Thread Tools

Problems with using Autoloader

 
 
Brian McCauley
Guest
Posts: n/a
 
      11-14-2004


Augustus wrote:
> I am using perl 5.005 on solaris 8.0. I have also tried this with 5.8.x
> on linux.
>
> Here is my problem.
> I am trying to use AutoLoader functionality in one of my modules.
>
> I have put
> use AutoLoader 'AUTOLOAD' ;
>
> and my functions (e.g. testProc) after __END__ in my module file.
>
> I generated the module by h2xs -Xn myModule
> then edited the myModule/myModule.pm with the the data above.
>
> After that perl Makefile.pl PREFIX=$HOME/myPerlModules
>
> After that "make install", which installs the module in
> $HOME/myPerlModules.
> It also creates the auto/myModules dir with the necessary files under
> $HOME/myPerlModules.
>
> Now in my script I do
>
> use lib '/home/user/myPerlModules' ;
> use AutoLoader 'AUTOLOAD' ;
> testProc("123");
>
> I get the message
> Can't localte auto/main/testProc.al in @INC ....
>
> My question is , why is it looking for auto/main instead of auto/testProc ?


Becuase it was main that installed AutoLoader. There is nothing in your
script that even mentioned myModule.

You need to use myModule not AutoLoader in your script. For example see
any module that uses AutoLoader.

> I also tried myModule::testProc , but I get can't locate
> myModule/testProc.pm


I do not believe you.

> I also tried
> use myModule 'testProc' ; But I get testProc is not exported. I haven't
> added testProc to @EXPORT or @EXPORT_OK, but I thought with AutoLoader it
> is not needed.


You thought wrong.

> So what am I missing here ?


It's not so much that you are missing something but that you are seeing
something that is not there. The AutoLoader and Exporter menchanisms
are more-or-less orthogonal.

 
Reply With Quote
 
 
 
 
Augustus
Guest
Posts: n/a
 
      11-15-2004
I am using perl 5.005 on solaris 8.0. I have also tried this with
5.8.x on linux.

Here is my problem.
I am trying to use AutoLoader functionality in one of my modules.

I have put
use AutoLoader 'AUTOLOAD' ;

and my functions (e.g. testProc) after __END__ in my module file.

I generated the module by h2xs -Xn myModule
then edited the myModule/myModule.pm with the the data above.

After that perl Makefile.pl PREFIX=$HOME/myPerlModules

After that "make install", which installs the module in $HOME/myPerlModules.
It also creates the auto/myModules dir with the necessary files under
$HOME/myPerlModules.

Now in my script I do

use lib '/home/user/myPerlModules' ;
use AutoLoader 'AUTOLOAD' ;
testProc("123");

I get the message
Can't localte auto/main/testProc.al in @INC ....

My question is , why is it looking for auto/main instead of auto/testProc ?
I also tried myModule::testProc , but I get can't locate
myModule/testProc.pm

I also tried
use myModule 'testProc' ; But I get testProc is not exported. I haven't
added testProc to @EXPORT or @EXPORT_OK, but I thought with AutoLoader it
is not needed.

So what am I missing here ? any help greatly appriciated .
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Optionally avoid AutoLoader Marc Girod Perl Misc 11 04-24-2012 02:39 PM
[ANN] autoloader, version 0.0.2 David Masover Ruby 7 11-25-2009 05:36 PM
Problem with using AutoLoader Module. Augustus Fernandis Perl 2 11-15-2004 05:21 AM
[Fwd: perl AUTOLOADER vs c++] Billy N. Patton C++ 1 10-15-2004 10:45 PM
Can't locate package AutoLoader for @File::List::ISA at... Shahriar Perl Misc 3 06-19-2004 05:22 AM



Advertisments