On 4 Feb 2005 at 12:00, Alan Stewart wrote:

> On 18 Jan 2005 at 15:36, H. Wade Minter wrote:
> 
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> > 
> > I'm using PAR/pp to package my Perl/Tk app, and it's all good.  Now I'm 
> > moving in the direction of setting up a simple plugin architecture to 
> > distribute plugins for my app.  It seems like PAR would be the natural 
> > choice to do that, as I'd be able to have the plugins include extra 
> > modules in their PAR files to increase functionality, while still allowing 
> > the users to run the apps without having Perl installed locally.
> > 
> > I'm pretty stumped, though, as to the best way to implement this. 
> > Currently, I've got code that does something like this:
> > 
> > foreach my $file ( glob( catfile( $config{plugin_dir}, "*.pl" ) ) )
> > {
> >      require $file;
> > }
> > 
> > And the .pl files in the plugin_dir provide the functionality.  That's 
> > working fine at present.  For the purposes of discussion, let's say we're 
> > working with a plugin named scoreboard.pl.
> > 
> > My first thought was to package scoreboard.pl as scoreboard.par, so I did:
> > 
> > pp -p -o scoreboard.par scoreboard.pl
> > 
> > Then, moving scoreboard.par into the plugin_dir, I changed the code to:
> > 
> > foreach my $file ( glob( catfile( $config{plugin_dir}, "*.par" ) ) )
> > {
> >      print "Using file $file\n";
> >      use PAR $file;
> >      require "scoreboard.pl";
> > }
> > 
> 
> How about renaming scoreboard.pl to scoreboard.pm, copy scoreboard.pm to 
> site/lib/, 
> create a little file include.pl and:

I missed a step here. The file include.pl would contain one line:

        use scoreboard;

> 
>       pp -p -o scoreboard.par include.pl
> 
> then:
> 
>       use PAR $file;
>       require scoreboard;
> 
> Normally a .pm file loads a package, but there is no reason why it can't do 
> something 
> else.
> 

Alan Stewart


Reply via email to