On Mon, 2003-06-16 at 17:02, [EMAIL PROTECTED] wrote:
> Hi all:
>
>
> Eplsite(www.eplsite.org) is a good system to run as CGI but when running
> with mod_perl it will consume memory because it is using Execute with
> __PACKAGE__
>
> The main file is called index.epl and it is executing some files containing
> subs, when i try to change the way to execute files like this:
>
> [- Execute ({inputfile => 'mainprogram.epl', import => 1 }); -]
> [- Execute ($theeplsitepath.'skins/'.$skin.'/colors.epl'); -]
> [- Execute ({inputfile => $theeplsitepath.'includes/subs.epl', import =>
> 1}); -]
>
>
> and then i execute :
>
> Execute ({inputfile =>'modules/'.$main_module.'/news_module.epl'});
>
> And now i try to call the subroutine theheader(contained int
> mainprogram.epl) from news_module.epl
>
> i allways get an error message " subroutine theheader not declared ".
>
I suggest you to take a look at EmbperlObject, it would be a cleaner and
better solution.
Functions declared in your "base.epl", for example, are accessible
trough the $req object as methods, example:
In base.epl
[$ sub test $]
[-
# some code
-]
[+ $output +]
[$ endsub $]
[!
sub other_sub {
# common perl sub
}
!]
[- Execute('heder.epl'); -]
[- Execute('*'); -]
[- Execute('footer.epl'); -]
In your pages:
[-
$req = shift;
$req->test;
$req->other_sub;
-]
Or you can put all your subs in a shared file and use the "isa"
parameter to Execute.
Regards,
--
Luiz Fernando Ribeiro
Engenho Solu��es S/C Ltda
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]