Embperl Tests - Include other Embperl pages via Execute
[- $optRawInput = 1 -]
[- $tst1 = 'Here is some text
' . "\n" ; -]
1.) Include from memory
[- Execute ({input => \$tst1,
mtime => 1,
inputfile => 'Some text',
}) ;
-]
2.) Include from memory with some Embperl code
[- Execute ({input => \('[- @ar = (a1, b2, c3) -' . '] ' . "\n" ),
mtime => 1,
inputfile => 'table',
}) ;
-]
3.) Include from memory with passing of variables
[- $MyPackage::Interface::Var = 'Some Var' ; -]
[- Execute ({input => \"Transfer some vars [+ \$Var +] !
\n" ,
inputfile => 'Var',
mtime => 1,
'package' => 'MyPackage::Interface',
}) ;
-]
4.) Change the variable, but not the code
[-
$MyPackage::Interface::Var = 'Do it again' ;
# code is the same, so give the same mtime and inputfile to avoid recompile
# Note you get problems is you change the code, but did not restart the server or
# change the value in mtime. So make sure if you change something also change mtime!
Execute ({input => \"Transfer some vars [+ \$Var +] !
\n",
inputfile => 'Var2',
mtime => 1,
'package' => 'MyPackage::Interface',
req_rec => $req_rec}) ;
-]
5a.) Use method -> param to pass parameters
[-
Execute ({input => \"Use method -> param to transfer some data ([+ do { \$p = shift -> component -> param -> param ; \"\@\$p\" } +]) !
\n",
inputfile => 'Parammethod',
param => [1, 2, 3, 4] }
) ;
-]
5.) Use \@param to pass parameters
[-
Execute ({input => \"Use \@param to transfer some data ([+ \"\@param\" +]) !
\n",
inputfile => 'Param',
param => [1, 2, 3, 4] }
) ;
-]
6.) Use \@param to pass parameters and return it
[- @p = ('vara', 'varb') ; -]
$p[0] is [+ $p[0] +] and $p[1] is [+ $p[1] +]
[-
Execute ({input => \('
Got data in @param ([+ "@param" +]) !
[- $param[0] = "newA" ; $param[1] = "newB" ; -' . ']Change data in @param to ([+ "@param" +]) !
' . "\n"),
inputfile => 'Param & Return',
req_rec => $req_rec,
param => \@p }
) ;
-]
$p[0] is now [+ $p[0] +] and $p[1] is now [+ $p[1] +]
7.) Presetup \%fdat and \@ffld
[-
%myfdat = ('test' => 'value',
'fdat' => 'text') ;
@myffld = sort keys %myfdat ;
Execute ({input => \('
[+ $ffld[$row] +] | [+ do { local $^W = 0 ; $fdat{$ffld[$row]} } +] |
' . "\n") ,
inputfile => 'fdat & ffld',
req_rec => $req_rec,
fdat => \%myfdat,
ffld => \@myffld}
) ;
-]
7a.) Presetup my \%fdat and my \@ffld
[-
my %myfdat = ('test1' => 'value1',
'fdat1' => 'text1') ;
my @myffld = sort keys %myfdat ;
Execute ({input => \('[+ $ffld[$row] +] | [+ do { local $^W = 0 ; $fdat{$ffld[$row]} } +] |
' . "\n") ,
inputfile => 'fdat & ffld',
req_rec => $req_rec,
fdat => \%myfdat,
ffld => \@myffld}
) ;
-]
7b.) Presetup \%fdat
[-
%myfdat = ('test2' => 'value2',
'fdat2' => 'text2') ;
#@myffld = sort keys %myfdat ;
Execute ({input => \('[+ $ffld[$row] +] | [+ do { local $^W = 0 ; $fdat{$ffld[$row]} } +] |
' . "\n") ,
inputfile => 'fdat & ffld',
req_rec => $req_rec,
fdat => \%myfdat,}
) ;
-]
7c.) Presetup \@ffld
[-
%myfdat = ('test3' => 'value3',
'fdat3' => 'text3') ;
@myffld = sort keys %myfdat ;
Execute ({input => \('[+ $ffld[$row] +] | [+ do { local $^W = 0 ; $fdat{$ffld[$row]} } +] |
@ffld = [+ "@ffld" +]' . "\n") ,
inputfile => 'ffld',
req_rec => $req_rec,
ffld => \@myffld}
) ;
-]
8a.) Include a file
[- Execute ({inputfile => '../inc.htm', options => 0, input_escmode => 7, }) -]
8b.) Include again the same file
[- Execute ({inputfile => '../inc.htm', options => 0, input_escmode => 7, }) -]
9.) Include a file and return output in a scalar
[- Execute ({inputfile => '../inc.htm',
output => \$out,
options => 0, input_escmode => 7,
req_rec => $req_rec}) ;
-]
[+ $out +]
10.) Include inside a table
[- @a = ('m1', 'm2', 'm3') -]
[+ $a[$row] +] : [- Execute ({inputfile => '../incsub.htm', req_rec => $req_rec, param => [$a[$row], 'main']}) -]
|
11.) Include a file with parameters
[- Execute ('../incparam.htm', 0, 'B', 'three', 'dddd', '555') -]
12.) Include a file and write outputfile
[# - Execute ({inputfile => '../inc.htm',
outputfile => "../../tmp/incout.htm",
}) ;
- #]
12.) Done :-)
Embperl (c) 1997-2005 G.Richter