richter 00/07/08 10:09:41
Modified: . Changes.pod Embperl.pm EmbperlObject.pm MANIFEST
TODO epchar.c epeval.c epmain.c test.pl
test/cmp escape.htm object.htm
Added: test/html/EmbperlObject/obj epobase.htm epohead.htm
epoobj1.htm epoobj2.htm
Log:
- Added new debug flag dbgObjectSerach which logs the EmbperlObjects
work when searching the correct file.
- If import parameter is given to Execute, Perl code is compiled, but
only [! !] blocks are executed (to allow sub definitions on import)
- New debug flag dbgObjectSearch can be set to see which files
EmbperlObject picksup and how it searches them.
- Space is converted to %20 instead of +, because that is more generic.
Suggested by Michael Blakely.
Revision Changes Path
1.117 +7 -0 embperl/Changes.pod
Index: Changes.pod
===================================================================
RCS file: /home/cvs/embperl/Changes.pod,v
retrieving revision 1.116
retrieving revision 1.117
diff -u -r1.116 -r1.117
--- Changes.pod 2000/07/07 21:55:55 1.116
+++ Changes.pod 2000/07/08 17:09:39 1.117
@@ -26,6 +26,13 @@
- Embperl 1.x and 2.x share now the same Makefile.PL and test.pl
- Added new debug flag dbgObjectSerach which logs the EmbperlObjects
work when searching the correct file.
+ - If import parameter is given to Execute, Perl code is compiled, but
+ only [! !] blocks are executed (to allow sub definitions on import)
+ - New debug flag dbgObjectSearch can be set to see which files
+ EmbperlObject picksup and how it searches them.
+ - Space is converted to %20 instead of +, because that is more generic.
+ Suggested by Michael Blakely.
+
=head1 1.3b3 (BETA) 25.04.2000
1.106 +9 -3 embperl/Embperl.pm
Index: Embperl.pm
===================================================================
RCS file: /home/cvs/embperl/Embperl.pm,v
retrieving revision 1.105
retrieving revision 1.106
diff -u -r1.105 -r1.106
--- Embperl.pm 2000/07/07 21:55:56 1.105
+++ Embperl.pm 2000/07/08 17:09:39 1.106
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: Embperl.pm,v 1.105 2000/07/07 21:55:56 richter Exp $
+# $Id: Embperl.pm,v 1.106 2000/07/08 17:09:39 richter Exp $
#
###################################################################################
@@ -564,7 +564,7 @@
sub CheckFile
{
- my ($filename, $req_rec, $AllowZeroFilesize, $allow, $path) = @_ ;
+ my ($filename, $req_rec, $AllowZeroFilesize, $allow, $path, $debug) = @_ ;
if (-d $filename)
{
@@ -596,7 +596,7 @@
{
next if (!$_) ;
$fn = "$_/$filename" ;
- warn "Embperl path search $fn\n" ;
+ print LOG "[$$]Embperl path search Check: $fn\n" if ($debug);
if (-r $fn && (-s _ || $AllowZeroFilesize))
{
if (defined ($allow) && !($fn =~ /$allow/))
@@ -781,7 +781,10 @@
}
elsif (!$Sub || $Inputfile ne '?')
{
- if ($rc = CheckFile ($Inputfile, $req_rec, (($$req{options} || 0) &
optAllowZeroFilesize), $$req{'allow'}, $$req{path}))
+ #my ($k, $v) ;
+ #while (($k, $v) = each (%$req))
+ # { warn "$k = $v" ; }
+ if ($rc = CheckFile ($Inputfile, $req_rec, (($$req{options} || 0) &
optAllowZeroFilesize), $$req{'allow'}, $$req{path}, (($$req{debug} || 0) &
dbgObjectSearch)))
{
FreeConfData ($conf) ;
return $rc ;
@@ -800,6 +803,9 @@
my $r = SetupRequest ($ar, $Inputfile, $mtime, $filesize, ($$req{firstline} ||
1), $Outputfile, $conf,
&epIOMod_Perl, $In, $Out, $Sub, exists
($$req{import})?scalar(caller ($$req{import} > 0?$$req{import} -
1:0)):'',$SessionMgnt) ;
+
+ bless $r, $$req{'bless'} if (exists ($$req{'bless'})) ;
+
my $package = $r -> CurrPackage ;
$evalpackage = $package ;
my $exports ;
1.31 +34 -15 embperl/EmbperlObject.pm
Index: EmbperlObject.pm
===================================================================
RCS file: /home/cvs/embperl/EmbperlObject.pm,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -r1.30 -r1.31
--- EmbperlObject.pm 2000/07/08 13:06:42 1.30
+++ EmbperlObject.pm 2000/07/08 17:09:39 1.31
@@ -10,7 +10,7 @@
# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
# WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
#
-# $Id: EmbperlObject.pm,v 1.30 2000/07/08 13:06:42 richter Exp $
+# $Id: EmbperlObject.pm,v 1.31 2000/07/08 17:09:39 richter Exp $
#
###################################################################################
@@ -84,6 +84,18 @@
$mod = '' ;
}
+
+ my %req ;
+
+ HTML::Embperl::ScanEnvironement (\%req, $r) ;
+ $req{'uri'} = $r -> Apache::uri ;
+ $req{'cleanup'} = -1 if (($req{'options'} &
HTML::Embperl::optDisableVarCleanup)) ;
+ $req{'options'} |= HTML::Embperl::optSendHttpHeader ;
+ $req{'req_rec'} = $r ;
+
+
+
+
if (exists $ENV{EMBPERL_FILESMATCH} &&
!($filename =~ m{$ENV{EMBPERL_FILESMATCH}}))
{
@@ -126,6 +138,7 @@
my $ap ;
my $ldir ;
my $found = 0 ;
+ my $fallback = 0 ;
do
{
@@ -170,48 +183,51 @@
{
print HTML::Embperl::LOG "[$$]EmbperlObject Found Base: $fn\n" if ($debug);
print HTML::Embperl::LOG "[$$]EmbperlObject path: $searchpath\n" if
($debug);
- my ($basenew, $basepackage) = HTML::Embperl::GetPackageOfFile ($fn,
$ENV{EMBPERL_PACKAGE} || '', -M _) ;
+ my ($basenew, $basepackage) = HTML::Embperl::GetPackageOfFile ($fn,
$req{'package'} || '', -M _) ;
if (!-f $filename && exists $ENV{EMBPERL_OBJECT_FALLBACK})
{
+ $fallback = 1 ;
$filename = $ENV{EMBPERL_OBJECT_FALLBACK} ;
- if (-f $filename)
- {
- print HTML::Embperl::LOG "[$$]EmbperlObject use fallback:
$filename\n" if ($debug);
- }
- else
- {
- print HTML::Embperl::LOG "[$$]EmbperlObject fallback $filename not
found\n" if ($debug);
- }
+ print HTML::Embperl::LOG "[$$]EmbperlObject use fallback: $filename\n"
if ($debug);
$r -> notes ('EMBPERL_orgfilename', $filename) ;
}
- my ($new, $package) = HTML::Embperl::GetPackageOfFile ($filename,
$ENV{EMBPERL_PACKAGE} || '', -M _) ;
+ my ($new, $package) ;
+ ($new, $package) = HTML::Embperl::GetPackageOfFile ($filename,
$req{'package'} || '', -M _) if (!$fallback) ;
if ($basenew)
{
print HTML::Embperl::LOG "[$$]EmbperlObject new Base: $fn, package =
$basepackage\n" if ($debug);
- HTML::Embperl::Execute ({inputfile => $fn, import => 0 }) ;
+ HTML::Embperl::Execute ({%req, inputfile => $fn, import => 0 }) ;
no strict ;
@{"$basepackage\:\:ISA"} = ($ENV{EMBPERL_OBJECT_HANDLER_CLASS} ||
'HTML::Embperl::Req') ;
use strict ;
}
- if ($new)
+ if ($new || $fallback)
{
- print HTML::Embperl::LOG "[$$]EmbperlObject new file: $filename,
package = $package\n" if ($debug);
+ print HTML::Embperl::LOG "[$$]EmbperlObject new file: $filename,
package = $package\n" if ($debug && !$fallback);
- HTML::Embperl::Execute ({inputfile => $filename, import => 0 }) ;
+ HTML::Embperl::Execute ({%req, inputfile => $filename, import => 0 }) ;
+ if ($fallback)
+ {
+ $package = $HTML::Embperl::evalpackage ;
+ print HTML::Embperl::LOG "[$$]EmbperlObject new file: $filename,
package = $package\n" if ($debug);
+ }
+
no strict ;
@{"$package\:\:ISA"} = ($basepackage) ;
use strict ;
}
- return HTML::Embperl::handler ($r) ;
+ $req{'inputfile'} = $ENV{PATH_TRANSLATED} = $r -> filename ;
+ $req{'bless'} = $package ;
+ return HTML::Embperl::Execute (\%req) ;
}
@@ -299,6 +315,9 @@
C<EMBPERL_OBJECT_FALLBACK> doesn't contain a path, it is searched thru the same
directories as C<EMBPERL_OBJECT_BASE>.
+=head2 EMBPERL_OBJECT_HANDLER_CLASS
+
+comming soon
=head1 Example
1.43 +1 -1 embperl/MANIFEST
Index: MANIFEST
===================================================================
RCS file: /home/cvs/embperl/MANIFEST,v
retrieving revision 1.42
retrieving revision 1.43
diff -u -r1.42 -r1.43
--- MANIFEST 2000/07/08 13:06:45 1.42
+++ MANIFEST 2000/07/08 17:09:39 1.43
@@ -207,7 +207,7 @@
test/cmp/clearsess.htm
test/cmp/epopage1.htm
test/cmp/epopage2.htm
-test/cmp/epofallback.htm
+test/cmp/eponotfound.htm
test/conf/httpd.conf.src
test/conf/startup.pl
test/conf/startup_dso.pl
1.92 +2 -0 embperl/TODO
Index: TODO
===================================================================
RCS file: /home/cvs/embperl/TODO,v
retrieving revision 1.91
retrieving revision 1.92
diff -u -r1.91 -r1.92
--- TODO 2000/07/07 21:55:57 1.91
+++ TODO 2000/07/08 17:09:39 1.92
@@ -108,6 +108,8 @@
- File::Spec for EmbperlObject
+- bless
+
1.3
---
1.12 +1 -1 embperl/epchar.c
Index: epchar.c
===================================================================
RCS file: /home/cvs/embperl/epchar.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- epchar.c 2000/05/02 04:41:37 1.11
+++ epchar.c 2000/07/08 17:09:39 1.12
@@ -323,7 +323,7 @@
{ ' ' , "%1D" }, /*  Unused */
{ ' ' , "%1E" }, /*  Unused */
{ ' ' , "%1F" }, /*  Unused */
- { ' ' , "+" }, /*   Space */
+ { ' ' , "%20" }, /*   Space */
{ '!' , "" }, /* ! Exclamation mark */
{ '"' , "%22" }, /* Quotation mark */
{ '#' , "" }, /* # Number sign */
1.21 +19 -4 embperl/epeval.c
Index: epeval.c
===================================================================
RCS file: /home/cvs/embperl/epeval.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -r1.20 -r1.21
--- epeval.c 2000/04/17 21:22:19 1.20
+++ epeval.c 2000/07/08 17:09:39 1.21
@@ -307,9 +307,16 @@
int nRowUsed = r -> TableStack.State.nRowUsed ;
int nColUsed = r -> TableStack.State.nColUsed ;
SV * pSVErr ;
-
dSP; /* initialize stack pointer */
+
+ if (r -> pImportStash)
+ { /* do not execute any code on import */
+ *pRet = NULL ;
+ return ok ;
+ }
+
+
EPENTRY (CallCV) ;
if (r -> bDebug & dbgEval)
@@ -730,11 +737,19 @@
if (*ppSV == NULL || SvTYPE (*ppSV) != SVt_PVCV)
{
- /* strip off all <HTML> Tags */
+ int rc ;
+ HV * pImportStash = r -> pImportStash ;
+ r -> pImportStash = NULL ; /* temporarely disable import */
+
+ /* strip off all <HTML> Tags */
TransHtml (r, sArg, 0) ;
- return EvalAndCall (r, sArg, ppSV, G_SCALAR, pRet) ;
- }
+ rc = EvalAndCall (r, sArg, ppSV, G_SCALAR, pRet) ;
+
+ r -> pImportStash = pImportStash ;
+
+ return rc ;
+ }
r -> numCacheHits++ ;
1.67 +1 -1 embperl/epmain.c
Index: epmain.c
===================================================================
RCS file: /home/cvs/embperl/epmain.c,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -r1.66 -r1.67
--- epmain.c 2000/07/08 13:06:45 1.66
+++ epmain.c 2000/07/08 17:09:39 1.67
@@ -2175,7 +2175,7 @@
if (bOutToMem)
r -> bOptions &= ~optEarlyHttpHeader ;
- if (r -> bSubReq)
+ if (r -> bSubReq || r -> pImportStash)
r -> bOptions &= ~optSendHttpHeader ;
1.60 +2 -0 embperl/test.pl
Index: test.pl
===================================================================
RCS file: /home/cvs/embperl/test.pl,v
retrieving revision 1.59
retrieving revision 1.60
diff -u -r1.59 -r1.60
--- test.pl 2000/07/08 13:06:45 1.59
+++ test.pl 2000/07/08 17:09:39 1.60
@@ -98,6 +98,8 @@
'EmbperlObject/sub/epopage2.htm',
'EmbperlObject/sub/epopage2.htm',
'EmbperlObject/sub/eponotfound.htm',
+ 'EmbperlObject/obj/epoobj1.htm',
+ 'EmbperlObject/obj/epoobj2.htm',
) ;
@tests2 = (
1.16 +20 -20 embperl/test/cmp/escape.htm
Index: escape.htm
===================================================================
RCS file: /home/cvs/embperl/test/cmp/escape.htm,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- escape.htm 2000/05/02 04:41:41 1.15
+++ escape.htm 2000/07/08 17:09:41 1.16
@@ -18,10 +18,10 @@
(this is the value in $a) (this is the value in $a)
äöüäöü???<&+ <BR>
What is the EscMode? 3
-Now a Url: <A
HREF="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This+is+a+text+%3F+%26+%2B+-+%2521">Here
it goes</A>
-A Tag 2: <A
HREF="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This+is+a+text+%3F+%26+%2B+-+%2521"
TARGET="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This is a text ?
& + - %21">a2</A>
-A Tag 3: <A
TARGET="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This is a text ?
& + - %21"
HREF="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This+is+a+text+%3F+%26+%2B+-+%2521"
TARGET="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This is a text ?
& + - %21">a3</A>
-A Tag 4: <A
TARGET="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This is a text ?
& + - %21"
HREF="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This+is+a+text+%3F+%26+%2B+-+%2521">a4</A>
+Now a Url: <A
HREF="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This%20is%20a%20text%20%3F%20%26%20%2B%20-%20%2521">Here
it goes</A>
+A Tag 2: <A
HREF="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This%20is%20a%20text%20%3F%20%26%20%2B%20-%20%2521"
TARGET="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This is a text ?
& + - %21">a2</A>
+A Tag 3: <A
TARGET="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This is a text ?
& + - %21"
HREF="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This%20is%20a%20text%20%3F%20%26%20%2B%20-%20%2521"
TARGET="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This is a text ?
& + - %21">a3</A>
+A Tag 4: <A
TARGET="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This is a text ?
& + - %21"
HREF="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This%20is%20a%20text%20%3F%20%26%20%2B%20-%20%2521">a4</A>
A Tag 5: <A
TARGET="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This is a text ?
& + - %21">a5</A>
A Tag 6: <A >a6</A>
A Tag 7: <A HREF="7">x</A>
@@ -32,12 +32,12 @@
A Tag 12: <A HREF=12>x</A>
A Tag 13: <A HREF="abcd%20%3E">x</A>
A Tag 14: <A HREF="abcd%20%3E">x</A>
-FRAME: <FRAME
SRC="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This+is+a+text+%3F+%26+%2B+-+%2521"
name="%20foo">
-IFRAME: <IFRAME
SRC="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This+is+a+text+%3F+%26+%2B+-+%2521"
name="%20foo">
-EMBED: <EMBED
SRC="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This+is+a+text+%3F+%26+%2B+-+%2521"
name="%20foo">
-LAYER: <LAYER
SRC="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This+is+a+text+%3F+%26+%2B+-+%2521"
name="%20foo">
-IMG: <IMG
SRC="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This+is+a+text+%3F+%26+%2B+-+%2521"
name="%20foo">
-FORM: <FORM
action="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This+is+a+text+%3F+%26+%2B+-+%2521"
name="%20foo">
+FRAME: <FRAME
SRC="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This%20is%20a%20text%20%3F%20%26%20%2B%20-%20%2521"
name="%20foo">
+IFRAME: <IFRAME
SRC="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This%20is%20a%20text%20%3F%20%26%20%2B%20-%20%2521"
name="%20foo">
+EMBED: <EMBED
SRC="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This%20is%20a%20text%20%3F%20%26%20%2B%20-%20%2521"
name="%20foo">
+LAYER: <LAYER
SRC="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This%20is%20a%20text%20%3F%20%26%20%2B%20-%20%2521"
name="%20foo">
+IMG: <IMG
SRC="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This%20is%20a%20text%20%3F%20%26%20%2B%20-%20%2521"
name="%20foo">
+FORM: <FORM
action="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This%20is%20a%20text%20%3F%20%26%20%2B%20-%20%2521"
name="%20foo">
Hash in A <A HREF="http://localhost/tests?A=1&B=2">
Array in A <A HREF="http://localhost/tests?X=9&Y=8&Z=7">
@@ -52,10 +52,10 @@
2
Now lets look what we are getting from this:<BR>
-(this+is+the+value+in+$a) (this+is+the+value+in+$a)+������%3F%3F%3F%3C%26%2B++<BR>
+(this%20is%20the%20value%20in%20$a)
(this%20is%20the%20value%20in%20$a)%20������%3F%3F%3F%3C%26%2B%20%20<BR>
What is the EscMode? 2
-Now a Url: <A
HREF="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This+is+a+text+%3F+%26+%2B+-+%2521">Here
it goes</A>
+Now a Url: <A
HREF="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This%20is%20a%20text%20%3F%20%26%20%2B%20-%20%2521">Here
it goes</A>
0
Now lets look what we are getting from this:<BR>
@@ -69,28 +69,28 @@
(this is the value in $a) (this is the value in $a)
äöüäöü???<&+ <BR>
What is the EscMode? 3
-Now a Url: <A
HREF="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This+is+a+text+%3F+%26+%2B+-+%2521">Here
it goes</A>
+Now a Url: <A
HREF="http://localhost/tests?id=abcdefghijklmnopqrstuvwxyz&text=This%20is%20a%20text%20%3F%20%26%20%2B%20-%20%2521">Here
it goes</A>
What is the EscMode? 3
file.html?name=abcd&data=xyz
Now we localy set $escmode:<BR>
(this is the value in $a) ������???<&+ \<a><BR>
(this is the value in $a) äöüäöü???<&+
<a><BR>
-(this+is+the+value+in+$a)+������%3F%3F%3F%3C%26%2B++++<a%3E<BR>
+(this%20is%20the%20value%20in%20$a)%20������%3F%3F%3F%3C%26%2B%20%20%20%20<a%3E<BR>
(this is the value in $a) äöüäöü???<&+
<a><BR>
(this is the value in $a) ������???<&+ \<a><BR>
(this is the value in $a) äöüäöü???<&+
\<a><BR>
-(this+is+the+value+in+$a)+������%3F%3F%3F%3C%26%2B++++\%3Ca%3E<BR>
+(this%20is%20the%20value%20in%20$a)%20������%3F%3F%3F%3C%26%2B%20%20%20%20\%3Ca%3E<BR>
(this is the value in $a) äöüäöü???<&+
\<a><BR>
Same without local:
(this is the value in $a) ������???<&+ \<a><BR>
(this is the value in $a) äöüäöü???<&+
<a><BR>
-(this+is+the+value+in+$a)+������%3F%3F%3F%3C%26%2B++++<a%3E<BR>
+(this%20is%20the%20value%20in%20$a)%20������%3F%3F%3F%3C%26%2B%20%20%20%20<a%3E<BR>
(this is the value in $a) äöüäöü???<&+
<a><BR>
(this is the value in $a) ������???<&+ \<a><BR>
(this is the value in $a) äöüäöü???<&+
\<a><BR>
-(this+is+the+value+in+$a)+������%3F%3F%3F%3C%26%2B++++\%3Ca%3E<BR>
+(this%20is%20the%20value%20in%20$a)%20������%3F%3F%3F%3C%26%2B%20%20%20%20\%3Ca%3E<BR>
(this is the value in $a) äöüäöü???<&+
\<a><BR>
@@ -101,12 +101,12 @@
&#129;&#130;<BR>
0
-<A HREF='http://host/script?name=My+Name+���'>
+<A HREF='http://host/script?name=My%20Name%20���'>
-<A HREF='http://host/script?name=My+Name+���'>
+<A HREF='http://host/script?name=My%20Name%20���'>
0
-<A HREF='http://host/script?name=My+Name+���'>
+<A HREF='http://host/script?name=My%20Name%20���'>
<A HREF='http://host/script?name=My Name ���'>
1.4 +5 -5 embperl/test/cmp/object.htm
Index: object.htm
===================================================================
RCS file: /home/cvs/embperl/test/cmp/object.htm,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- object.htm 1999/10/05 06:02:17 1.3
+++ object.htm 2000/07/08 17:09:41 1.4
@@ -10,25 +10,25 @@
<TR><TH COLSPAN=2><H2>Objects</H2></TH></TR>
<TR>
<TD>
- <A HREF="index.html?id=id+0">name 0</A>
+ <A HREF="index.html?id=id%200">name 0</A>
</TD>
</TR>
<TR>
<TD>
- <A HREF="index.html?id=id+1">name 1</A>
+ <A HREF="index.html?id=id%201">name 1</A>
</TD>
</TR>
<TR>
<TD>
- <A HREF="index.html?id=id+2">name 2</A>
+ <A HREF="index.html?id=id%202">name 2</A>
</TD>
</TR>
<TR>
<TD>
- <A HREF="index.html?id=id+3">name 3</A>
+ <A HREF="index.html?id=id%203">name 3</A>
</TD>
</TR>
</TABLE>
@@ -36,4 +36,4 @@
</body>
</html>
-
+
1.1 embperl/test/html/EmbperlObject/obj/epobase.htm
Index: epobase.htm
===================================================================
[- $r = shift -]
[! sub title { 'default'} !]
<html>
<head>
<title>Example using Objects: [+ $r -> title +]</title>
</head>
<body>
[- Execute ('epohead.htm') -]
[- Execute ('*') -]
</body>
</html>
1.1 embperl/test/html/EmbperlObject/obj/epohead.htm
Index: epohead.htm
===================================================================
[- $r = shift -]
<h1>head from foo</h1>
title = [+ $r -> title +]<br>
-----------------------------
1.1 embperl/test/html/EmbperlObject/obj/epoobj1.htm
Index: epoobj1.htm
===================================================================
PAGE 1
1.1 embperl/test/html/EmbperlObject/obj/epoobj2.htm
Index: epoobj2.htm
===================================================================
[! sub title { 'epoobj2 -> page2'} !]
PAGE 2
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]