
ãã®èšäºã§ã¯ãPerlããã°ã©ãã³ã°èšèªã³ãŒããå«ãHTMLããã¥ã¡ã³ããæäœããããã®
HTML :: Phlã¢ãžã¥ãŒã«ã®ä»æ§ã«ã€ããŠèª¬æããŸãã
HTML :: Phlã¢ãžã¥ãŒã«ã®ã¿ã¹ã¯ã¯ã
HTML圢åŒã®ããã¹ãããã¥ã¡ã³ãããç¹å¥ãªæ¹æ³ã§é
眮ãããperlã³ãŒããéžæããããã«ããã€ãã®æäœãå®è¡ããæ®ãã®ã³ãŒããå®è¡ããçµæã®perlãåäžã®ã³ãŒãã«çµåãããã® '
eval 'ããã¹ãŠããã£ãŒããããããšã§ãã Webãã©ãŠã¶ãŒã§åçãããçæãããHTMLããŒãžãååŸããŸãã
äŸ1 <HTML> 2 <HEAD> 3 <META content="text/html; charset=UTF-8" http-equiv="Content-Type"> 4 <TITLE> PHL</TITLE> 5 </HEAD> 6 7 f1 f2<br> 8 9 %pl include("process_win.phl", "fork decode=cp1251", "f1"); 10 %pl include("process_utf.phl", "fork decode=utf8", "f2"); 11 12 <br> 13 14 <%pl my %join = include("JOIN", "f1 f2"); %> 15 16 <br> 17 18 <%pl 19 foreach my $key(keys(%join)) { 20 if (ref $join{$key}) { 21 print " '$key' - : "; 22 for (my $i = 0; $i <= $#{$join{$key}}; $i++) { 23 print "'${$join{$key}}[$i]' "; 24 } 25 print "<br>"; 26 } else { 27 print " '$key' - : '$join{$key}'<br>"; 28 } 29 } 30 %> 31 32 </HTML>
ãã®èšäºã¯æè²ç®çã§æžãããŠãããã¢ãžã¥ãŒã«ã®éçºã¯æ¬è³ªçã«æŠå¿µçãªãã®ã§ããããã®ä¿¡é Œã§ããã¢ããªã±ãŒã·ã§ã³ã«ã¯è¿œå ã®ãã¹ããå¿
èŠã§ãã
ç®æ¬¡ïŒ
PHLä»æ§â¢
ãã€ã³ã¿ãŒâ¢
ã»ãã¬ãŒã¿ãŒâ¢
ããŒâ¢
æ©èœâ¢
æ¡åŒµã¢ãžã¥ãŒã«â¢
æ§æèšå®PHLé
åžPHLä»æ§^
HTMLããã¥ã¡ã³ãã§ã¯ãperlã³ãŒãã¯åºæã®åœä»€ã䜿çšããŠé
眮ãããŸãã ãã®ãããªååœä»€ã«ã¯ãããã¥ã¡ã³ãå
ã®perlã³ãŒããèå¥ããããã®éå§ãšçµäºããããŸãã
PHLä»æ§ã§ã¯ãæ瀺ãèšè¿°ããããã®3ã€ã®ãªãã·ã§ã³ãå®çŸ©ããŠããŸãã
1.ç·åœ¢åœä»€ïŒ
ïŒ
pl [ããŒ] [perlã³ãŒã]2.åäžè¡ãããã¯åœ¢åŒã®æ瀺ïŒ
<ïŒ
pl [ïŒïŒ| =ïŒ[name]] [keys] [perl code] ïŒ
>3.è€æ°è¡ãããã¯ïŒ
<ïŒ
pl [ïŒïŒ| =ïŒ[åå]] [ããŒ]
[perlã³ãŒã]ïŒ
>ã©ãã§
'
ïŒ
pl 'ã '
<ïŒ
pl 'ã '
ïŒ
> '-åœä»€
ãã€ã³ã¿ãŒ ïŒPerlã³ãŒãã®éå§ãšçµäºã決å®ããŸãïŒ;
[åå] -ãããã¯ã®ååïŒäž»ã«äžŠåããã°ã©ãã³ã°ã§ãããã¯ã®èå¥ã«äœ¿çšãããŸãïŒã
'
ïŒ 'ãŸã㯠'
= '-
ã»ãã¬ãŒã¿ ïŒäžæ¹ã§ã¯ãåœä»€ãã€ã³ã¿ãšãããã¯åã®éã®ã»ãã¬ãŒã¿ã§ãããä»æ¹ã§ã¯ãå€ãã®è¿œå æ©èœããããŸãïŒ;
[keys] -å¶åŸ¡
ã㌠ïŒå®è¡ã®ããã«ã€ã³ã¿ãŒããªã¿ãŒã«æž¡ãåã«ãåœä»€ã«å²ãŸããPerlã³ãŒããå€æŽã§ããŸãïŒ;
[perl code] -Perlã³ãŒãã
äŸ %pl print sqrt(2); <%pl print $var; %> <%pl= $var; %> <%pl foreach my $key(keys(%ENV)) { print "$key â $ENV{$key}<br>"; } %>
å¶åŸ¡èŠçŽ
[name]ããã³
[keys]ã¯ããŸã䜿çšãããããããã䜿çšããã«æ£åžžã«å®è¡ã§ããŸããããããã®äœ¿çšã¯éåžžã«äŸ¿å©ã§ãã
<%pl:f1 -fork # my $f = " f1"; sleep 1; return $f; %> <%pl -join=f1 # f1 print $phl_join{f1}; %>
PHLã®æšæºPerlé¢æ°ã«ã
é¢æ° '
includeïŒïŒ 'ïŒãè¿œå ãããŸããããã¯ãããã€ãã®ãã¡ã€ã«ããããã¥ã¡ã³ããçµã¿ç«ãŠãããšãã§ããããã«å®è£
ãããŠããŸãã
%pl include($file_name); <%pl include("$file_name", "socket"); %> <%pl my $result = include("$file_name", "open decode"); %>
ãã€ã³ã¿ãŒ^
ããã©ã«ãã§ã¯ããã€ã³ã¿ãŒã®åœ¢åŒã¯ã
<ïŒ
pl ããã
ïŒ
> ããããã³ã
ïŒ
pl ãã§ãã
ãã€ã³ã¿ãŒã¯ããã¡ã€ã«ã
Phl.pm ããŸãã¯æ§æãã¡ã€ã«ã
config.phl ãã®èšå®ã§ãªãŒããŒã©ã€ãã§ããŸãã ãã®çµæããã®
<ïŒ
... code perl ...ïŒ
>ãŸãã¯ãã®ãããª
[... code perl ...]ãŸãã¯like
... code perl ... likeã®ããã«
èšè¿°ã§ããŸã ã
å¿
èŠã«å¿ããŠãç¬èªã®ïŒãªãã·ã§ã³ã®ïŒåœä»€ãã€ã³ã¿ãŒãå®çŸ©ã§ããŸãã ããã¯ãç¹å¥ã«èšèšãããã¢ãžã¥ãŒã«ã䜿çšããŠå®è£
ãããŸãã
ããšãã°ãã¢ãžã¥ãŒã« '
HTML :: Phl :: Php 'ã䜿çšãããšãåœä»€ãã€ã³ã¿ãŒ '
<ïŒ
pl 'ã«å ããŠããã€ã³ã¿ãŒ '
<ïŒ
php 'ãè¿œå ãããåçŽãªPHPã³ãŒããå®è¡ã§ããŸãã
1 %pl -ev use HTML::Phl::Php; 2 3 <%php 4 echo "PHP >> <b>OK</b><br>"; 5 echo date('H:i:s dmY'); 6 %>
çµæPHP >> OK
14:23:22 2016/12/26
ã»ãã¬ãŒã¿ãŒ^
åºåãæåã®ã¿ã¹ã¯ã¯ãåœä»€ãã€ã³ã¿ããããã¯åããåé¢ããããšã§ãã
åºåãæå '
ïŒ 'ãšã¯ç°ãªããåºåãæå '
= 'ã¯ã¢ãã©ã€ã¶ãŒã®ã³ãŒã解éãå€æŽããŸãã åæã«ãåäžè¡ãšè€æ°è¡ã®ãããã¯ã§åºåãèšå·ã
= ãã䜿çšããçµæã¯ç°ãªããŸãã
1 %pl my $test = "<b></b>"; 2 3 1. '<%pl= $test %>' . 4 <br><br> 5 6 <%pl=name1 7 2. '$test' 8 '<b>$phl_blok[1]</b>' ( '='). 9 %> 10 <br><br> 11 12 <%pl:name2 13 print "3. '$test'"; 14 print " '<b>$phl_blok[2]</b>' ( ':')."; 15 %>
ã¢ãã©ã€ã¶ãŒã®åŸã®ã³ãŒã 1 my $test = "<b></b>"; 2 print <<'[HTML]'; 3 4 [HTML] 5 print <<'[HTML]' =~ /(.*)/; 6 1. ' 7 [HTML] 8 print($test); 9 print <<'[HTML]'; 10 ' . 11 [HTML] 12 print <<'[HTML]'; 13 <br><br> 14 15 [HTML] 16 print <<"[HTML]"; 17 2. "$test" 18 "<b>$phl_blok[1]</b>" ( "="). 19 [HTML] 20 print <<'[HTML]'; 21 <br><br> 22 23 [HTML] 24 print "3. '$test'"; 25 print " '<b>$phl_blok[2]</b>' ( ':').";
çµæ1.åäžè¡ãããã¯å
ã®å€æ° ' test 'ã
2.è€æ°è¡ããã㯠' name1 'å
ã®å€æ° ' test 'ïŒåºåãæå '='ïŒã
3.è€æ°è¡ããã㯠' name2 'ïŒåºåãæå 'ïŒ'ïŒå
ã®å€æ° ' test 'ã
ããŒ^
ããŒã䜿çšãããšãæ瀺ã«ããperlã³ãŒããå€æŽã§ããŸãã ãããã¯å®å
šãªåœ¢ãŸãã¯çç¥åœ¢ã§ç€ºãããšãã§ããŸãã
-å§ãŸã-çµäº-perl_all-è©äŸ¡-ãã©ãŒã¯-ã¹ã¬ãã-åå ããâ¢ã㌠' -begin ' [' -bg ']ããã³ ' -end '
-beginã¹ã€ããã䜿çšãããšãã¢ãã©ã€ã¶ãŒã¯åœä»€ã«å«ãŸããperlã³ãŒããååŸãã '
BEGIN {} 'ãããã¯ã§ã©ããããŸãã
-endã¹ã€ããã䜿çšãããšåãããšãèµ·ãããŸã-perlã³ãŒã㯠'
END {} 'ãããã¯ã«é
眮ãããŸãã
ãœãŒã¹ã³ãŒãïŒ
1 1. HTML<br> 2 <%pl -end 3 print "2. end<br>"; 4 %> 5 3. HTML<br> 6 7 <%pl -begin 8 print "4. begin<br>"; 9 %> 10 5. HTML<br> 11 12 <%pl -end 13 print "6. end<br>"; 14 %> 15 7. HTML<br> 16 17 <%pl -bg 18 print "8. begin<br>"; 19 %> 20 9. HTML<br>
çµæ4.æåã«å§ãã
8. 2çªç®ã®éå§
1. HTMLããã¹ã
3. HTMLããã¹ã
5. HTMLããã¹ã
7. HTMLããã¹ã
9. HTMLããã¹ã
6.ã»ã«ã³ããšã³ã
2.æåã®çµãã
â¢ããŒã¯ ' -perl_all ' [' -pl ']ã§ã
ãã®ããŒã䜿çšããå Žåãperlã³ãŒããåœä»€ãã€ã³ã¿ãŒã«å¶éããå¿
èŠã¯ãããŸããã ã¢ãã©ã€ã¶ãŒã¯ãææžã®ããã¹ãå
šäœãPerlã³ãŒããšããŠèªèããŸãã
1 %pl -pl 2 3 use CGI; 4 5 print "Content-type: text/html; charset=utf-8\n\n"; 6 7 my $test = ""; 8 my $q = new CGI; 9 10 print $q -> h4("$test CGI"); 11 print ("<H4>$test Phl</H4>");
çµæCGIã¢ãžã¥ãŒã«ããã®ããã¹ã
Phlããã®ããã¹ã
â¢ã㌠' -eval ' [' -ev ']
ãã®ããŒã䜿çšãããšãã¢ãã©ã€ã¶ãŒã®æäœäžïŒ
evalãå®è¡ããåïŒã«åœä»€å
ã«å«ãŸããã³ãŒããå®è¡ã§ããŸãã
ããšãã°ã次ã®åœä»€ãã³ãŒãã«é
眮ããŠããã®ããŒã䜿çšããŠãã€ã³ã¿ãŒ '
<ïŒ
pl 'ãªã©ãå€æŽããŠã¿ãŠãã ããã
1 <%pl -eval 2 $phl{lt} = '['; 3 $phl{rt} = ']'; 4 $phl{ln} = '~'; 5 $phl{sh} = ''; 6 %>
åœä»€ãã€ã³ã¿ãŒã¯ããŸã£ããç°ãªãå€èŠ³ãç²åŸããŠããŸãã ããã§ãåœä»€ã¯æ¬¡ã®ããã«èšè¿°ã§ããŸãã
1 [= 2 3 ]
ãŸãã¯ãã®ãããª
1 [ print " " ]
ãŸãã¯ãã®ãããª
1 ~ print " "
â¢ã㌠' -fork ' [' -fk ']
ã¹ããŒãã¡ã³ãå
ã«å²ãŸããã³ãŒãã¯ã
forkïŒïŒãå®è¡ããŠäœæããã
䞊ååããã»ã¹ã§å®è¡ãããŸãã
1 <%pl:f1 -fork 2 # f1 3 my $f; 4 sleep 1; # f1 5 return $f; 6 %>
â¢ã㌠' -thread ' [' -td ']
åœä»€å
ã«å«ãŸããã³ãŒãã¯ã1ã€ã®ããã»ã¹å
ã®æšæºã¢ãžã¥ãŒã«ã
threads ãã«ãã£ãŠäœæããã䞊åã¹ã¬ããïŒãã¹ã¬ãããããããã»ã¹ã®ã¹ã¬ãããïŒã§å®è¡ãããŸãã
1 <%pl:t1 -thread 2 # t1 3 my $t; 4 sleep 1; # t1 5 return $t; 6 %>
â¢ã㌠' -join ' [' -jn ']
ããŒã䜿çšãããšãåããã»ã¹ããã³ã¹ã¬ããã®å®è¡çµæãååŸã§ããŸãã
çµæã¯
ïŒ
phl_joinããã·ã¥ã«é
眮ããããã®ããŒã¯äœæãããããã»ã¹/ã¹ã¬ããã®ååã§ãã çµæã®ç³è«æã«å¿
èŠãªäžŠåããã»ã¹ããŸã å®äºããŠããªãå Žåãããã°ã©ã ã¯ãã®å®äºãåŸ
ã¡ãŸãã
1 <%pl -join 2 # 3 foreach my $key(keys(%phl_join)) { 4 if (ref $phl_join{$key}) { # - 5 my @result = @{$phl_join{$key}}; 6 print " '$key' - '$result[0]'"; 7 } else { 8 print " '$key' - '$phl_join{$key}'"; 9 } 10 } 11 %>
â¢è¿œå ã®ããŒ
å¿
èŠã«å¿ããŠãç¬èªã®ïŒè¿œå ã®ïŒããŒãå®çŸ©ããããæ¢åã®ããŒããªãŒããŒã©ã€ãã§ããŸãã ããã¯ãç¹å¥ã«èšèšãããã¢ãžã¥ãŒã«ã䜿çšããŠå®è£
ãããŸãã
ãããã£ãŠãããšãã°ãã¢ãžã¥ãŒã« '
HTML :: Phl :: Utilit 'ããã³ã㌠'
-import ' ['
-im ']ã䜿çšãããšãããã°ã©ã ã§çŸåšäœ¿çšå¯èœãªãã¹ãŠã®ãã€ã³ã¿ãŒãããŒãããã³ãã©ã¡ãŒã¿ãŒã®ãªã¹ãã衚瀺ã§ããŸãã
1 %pl -ev use HTML::Phl::Utilit; 2 3 %pl -import
çµæ1. HTML :: Phl :: Php
⢠paramïŒ
-php
⢠shïŒ
-php
2. HTML :: Phl :: Psimple
⢠paramïŒ
- ã·ã³ãã«
-sl
3. HTML :: Phl ::çµæ
⢠paramïŒ
- çµæ
4. HTML :: Phl :: Ru
⢠shïŒ
-rus
5. HTML :: Phl :: Utilit
⢠evalïŒ
- åæ
- ãšããŠ
- ãªã¹ã
-lt
⢠å«ããïŒ
-æ§æ
- ã¿ã€ããŒ
⢠ããŒïŒ
- åæ
- ãšããŠ
-cf
- èšå®
- ã€ã
- ã€ã³ããŒã
- ãªã¹ã
-lt
-no_timer
-nt
- ã¿ã€ããŒ
-tm
⢠paramïŒ
- ãªã¹ã
-lt
æ©èœ^
PHLã«ã¯1ã€ã® '
includeïŒïŒ 'é¢æ°ã®ã¿ãè¿œå ãããŠãããHTMLïŒTXTïŒãŸãã¯PHLããŒã¯ã¢ãããå«ãè€æ°ã®ãã¡ã€ã«ããããã¥ã¡ã³ããäœæã§ããããã«å®è£
ãããŠããŸãã
é¢æ° '
includeïŒïŒ 'ã¯æšæºã®Perlé¢æ° '
openïŒïŒ 'ã«äŒŒãŠããŸãããæåã®åŒæ°ã¯ããã¥ã¡ã³ãã«å«ãŸãããã¡ã€ã«ã®ååã§ããã2çªç®ã¯1ã€ä»¥äžã®ç¹å¥ãªå¶åŸ¡ãã©ã¡ãŒã¿ãŒã§ãã
1 %pl include($file_name); 2 3 <%pl include("$file_name", "socket"); %> 4 5 <%pl 6 my $result = include($file_name, "open decode"); 7 %>
äžè¬ã«ãé¢æ° '
includeïŒïŒ 'ã®èšè¿°ã¯æ¬¡ã®ããã«ãªããŸãã
includeïŒ " file_name " [ã " param " [ã " name_process "]]ïŒ ;
file_name ïŒ
ããã¡ã€ã«å.phlã
ããã¡ã€ã«å.cgiã
ããã¡ã€ã«ãã¹/ãã¡ã€ã«å.phlã
ã/file_path/file_name.htmlã
ãHttpïŒ//domain/file_path/file_name.htmlã
[ãã©ã¡ãŒã¿ãŒ] ïŒ
phl ã
exist ã
headabs ã
no_abs ã
no_evalno_strict ã
open ã
decodeno_decode ã
cgi ã
ãœã±ãããã©ãŒã¯ ã
ã¹ã¬ããè¿œå ã®ãã©ã¡ãŒã¿ãŒãšäŸåé¢ä¿ïŒ
phl [.phl] <=
ååšãããããabsããã³ãŒãcgi [.cgi] <=
requireãdecodeãªãŒãã³ <=
ãã³ãŒããabsãœã±ãã <=
ååšãããããno_absããã³ãŒããno_decodefork <=
waitpidãno_waitpidã¹ã¬ãã <=
çµåãåé¢'
file_name 'ã®æåã®åŒæ°ã«ã¯ããã¡ã€ã«åã«å ããŠãäºçŽèªã
JOIN ããã
CONFIG ãããŸãã¯ã
TIMER ããå«ããããšãã§ããŸãã
ãã¡ã€ã«ã
file_name ãã®æ¡åŒµåãã
.phl ãã®å Žåããã®ãããªãã¡ã€ã«ã¯PHLãã¡ã€ã«ãšããŠèå¥ãããŸãã æ¡åŒµåã¯ãèšå®ã§
$ phl {pl}ã䜿çšããŠå€æŽã§ããŸãã
'
includeïŒïŒ 'é¢æ°ãæªå®çŸ©ã®ã³ã³ããã¹ãã§åŒã³åºããããšãPerlã³ãŒãã®å®è¡çµæã¯
printïŒïŒé¢æ°å
ã®ããã¥ã¡ã³ãæ¬æã«é
眮ãããŸãã ã¹ã«ã©ãŒãŸãã¯ãªã¹ãã³ã³ããã¹ãã§ã¯ãçµæã¯ããããèŠæ±ãããå€æ°å€ãŸãã¯å€ã®ãªã¹ããšããŠè¿ãããŸãã
1 <%pl 2 include("file_name.phl"); 3 my $result = include("file_name.phl"); 4 my @result = include("file_name.phl"); 5 %>
é¢æ°ã®2çªç®ã®åŒæ° '
includeïŒïŒ 'ã«ã¯ã1ã€ä»¥äžã®ç¹å¥ãªå¶åŸ¡ãã©ã¡ãŒã¿ãŒãå«ããããšãã§ããŸãã
â¢ãã©ã¡ãŒã¿ãŒ ' phl '
ãã®ãã©ã¡ãŒã¿ãŒã¯ãã€ã³ã¯ã«ãŒããã¡ã€ã«ã«å«ãŸããã³ãŒããPHL圢åŒã®ããã¥ã¡ã³ãã§ããããšããã³ãã©ãŒã«äŒããŸãã
ãã¡ã€ã«ããŒã¿ã¯ã¢ãã©ã€ã¶ãŒã«éä¿¡ãããããã§perlã³ãŒãã«å€æããã '
eval 'ã«æž¡ãããŸãã
å«ãŸãããã¡ã€ã«ã®ååã«æ¡åŒµåã
.phl ããæå®ããã ãã§ããã°ãã
phl ããã©ã¡ãŒã¿ãŒã¯åæ§ã®ã¢ã¯ã·ã§ã³ãå®è¡ããŸãïŒæ¡åŒµåã¯ã
$ phl {pl} ãã®èšå®ã§å€æŽã§ããŸãïŒã
1 <%pl 2 include("file_name.txt", "phl"); 3 my $result = include("file_name.html", "phl decode=utf-8"); 4 my @result = include("file_name", "phl abs"); 5 %>
â¢ãã©ã¡ãŒã¿ãŒ ' exist 'ïŒ ' ex 'ïŒ
ãã¡ã€ã«ã®ååšã確èªã§ããŸãã
1 <%pl 2 my $exist_file = include("$file_name", "exist"); 3 if ($exist_file) { 4 print " $file_name "; 5 } else { 6 print " $file_name "; 7 } 8 %>
â¢ãã©ã¡ãŒã¿ãŒ ' head 'ïŒ ' hd 'ïŒ
ã³ã³ãã³ãã¿ã€ããããã¥ã¡ã³ãã®é·ããå€æŽãããæéãæå¹æéããµãŒããŒã®5ã€ã®èŠçŽ ã®ãªã¹ããè¿ããŸãã
1 <%pl 2 my @head = include("$file_name", "head"); 3 %>
â¢ãã©ã¡ãŒã¿ãŒ ' abs '
'
abs 'ãã©ã¡ãŒã¿ãŒãååšããå Žåããã¡ã€ã«ã§æå®ãããçžå¯Ÿãªã³ã¯ã¯çµ¶å¯Ÿã«å€æãããŸãã
%pl include("$file_name", "abs");
â¢ãã©ã¡ãŒã¿ãŒ ' no_eval 'ïŒ ' ne 'ïŒ
ãã®ãã©ã¡ãŒã¿ãŒãæå®ãããšãã€ã³ã¯ã«ãŒããã¡ã€ã«ã®ã³ãŒããå®è¡ããçµæã¯ç¡èŠãããŸãã
<%pl include("$file_name", "no_eval") %>
â¢ãã©ã¡ãŒã¿ãŒ ' no_strict 'ïŒ ' ns 'ïŒ
ãã©ã¡ãŒã¿ãŒ '
no_strict 'ã
æå®ãããŠããå Žåããã©ã°ã '
use strict 'ã¯ããŠã³ããŒãããããã¡ã€ã« '
$ file_name 'ã®ã³ãŒãã«ã¯é©çšãããŸããã
1 <%pl 2 include("$file_name", "ns"); 3 %>
â¢ãã©ã¡ãŒã¿ãŒ ' open 'ïŒ ' on 'ïŒ
é¢æ° '
openïŒïŒ 'ãšåæ§ã«ããã¡ã€ã«ãéããŠããããããŒã¿ãæœåºããããã«äœ¿çšãããŸãïŒãã¡ã€ã«ã«ããŒã¿ãæžã蟌ãå¯èœæ§ã¯ãããŸããïŒã
1 <%pl 2 include("$file_name", "open"); 3 my $result = include("$file_name", "open decode=koi8-r"); 4 my @result = include("$file_name", "on, decode=cp1251, abs"); 5 %>
â¢ãã©ã¡ãŒã¿ãŒ ' decode 'ïŒ ' dc 'ïŒ
ãã©ã¡ãŒã¿ãŒ '
decode 'ã
ååšããå Žåããã©ã¡ãŒã¿ãŒã§æå®ããããšã³ã³ãŒãïŒããšãã°ã '
decode = cp1251 'ïŒããã®ããŒã¿ã¯ãå
éšPerl圢åŒã«ãã³ãŒããããŸãã
ãšã³ã³ãŒããæå®ãããŠããªãããã
decode ããã©ã¡ãŒã¿ãŒã
æ¬ èœããŠããå Žåããã³ãŒãæã«ãã€ã³ã¯ã«ãŒããã¡ã€ã«ã®
ãšã³ã³ãŒãã
phl.pmèšå®ïŒãŸãã¯
config.phl ïŒã§æå®ããã
$ phl {encoding_in}ãšäžèŽãããš
èŠãªãããŸãã
çµæã®ããã¥ã¡ã³ãã®ãšã³ã³ãŒãã£ã³ã°ãã
utf-8 ããšç°ãªãå Žåã
phl.pm ïŒãŸãã¯
config.phl ïŒèšå®ã§æå®ããããšã³ã³ãŒãã£ã³ã°
$ phl {encoding_out}ãžã®ããŒã¿ã®ãšã³ã³ãŒãã£ã³ã°ã
è¿œå ã§å®è¡ãããŸãã
ããŒã¿ã®ãšã³ã³ãŒããšãã³ãŒãã¯ãæšæºã¢ãžã¥ãŒã«ã
Encode.pm ãã䜿çšããŠå®è¡ãããŸãã
â¢ãã©ã¡ãŒã¿ãŒ ' cgi '
ãã®ãã©ã¡ãŒã¿ãŒã¯ãPerlã§èšè¿°ãããcgiã¹ã¯ãªãããæ¥ç¶ããããã®ãã®ã§ãã
1 <%pl 2 include("file_name.cgi"); 3 include("$file_name", "cgi"); 4 include("$file_name", "cgi require"); 5 include("file_name.cgi", "decode=cp866"); 6 %>
â¢ãã©ã¡ãŒã¿ãŒ ' socket 'ïŒ ' sk 'ïŒ
æšæºã¢ãžã¥ãŒã« '
IO :: Socket :: INETã䜿çšããŠWebããã¥ã¡ã³ããããŒãããããã«äœ¿çš
1 <%pl 2 include("file_name.html", "socket"); 3 include("http://domain/"); 4 my $text = include("http://domain/file_path/file_name.html", "decode=cp1251"); 5 my @result = include("$file_name", "decode no_abs"); 6 %>
ææžã«å«ãŸãããã¡ã€ã«ã®ã¢ãã¬ã¹ãhttpãŸãã¯ftpã§å§ãŸãå Žåã '
socket 'ãã©ã¡ãŒã¿ãŒãæå®ããå¿
èŠã¯ãããŸããã
'
socket 'ãã©ã¡ãŒã¿ãŒãšãšãã«ãè¿œå ã®ãã©ã¡ãŒã¿ãŒ '
exist 'ã '
head 'ã '
no_abs 'ã '
decode 'ã '
no_decode 'ã䜿çšã§ããŸãã
- ãªãã·ã§ã³ã®ãã©ã¡ãŒã¿ãŒ ' exist 'ïŒ ' ex 'ïŒ
ãã¡ã€ã³ããã¡ã€ã«ãã¢ãã¬ã¹ã®ååšã確èªã§ããŸãã
1 <%pl 2 my @include_name_file = ( 3 'dir1/name_file.html', 4 '/dir2/name_file.php', 5 'http://www.yandex.ru', 6 'http://www.yandex/eklmnfjoeqxngsitwf.html', 7 'http://eklmnfjoeqxngsitwfhoevd.ru' 8 ); 9 10 foreach my $name_file (@include_name_file) { 11 my $ex = include("$name_file", "socket exist"); 12 if ($ex) { 13 print " '$name_file' <br>"; 14 } elsif (!defined $ex) { 15 print " '$name_file' <br>"; 16 } else { 17 print " '$name_file' <br>"; 18 } 19 } 20 %>
- ãªãã·ã§ã³ã®ãã©ã¡ãŒã¿ãŒ ' head 'ïŒ ' hd 'ïŒ
ããã¥ã¡ã³ãã®ã¿ã€ãã«ãååŸããŸã
1 <%pl 2 foreach my $name_file (@test_name_file) { 3 my head = include("$name_file", "socket head"); 4 if ($#head) { 5 print " '$name_file' => '@head[0..3]'<br>"; 6 } else { 7 print " '$name_file' => '@head'<br>"; 8 } 9 } 10 %>
- ãªãã·ã§ã³ã®ãã©ã¡ãŒã¿ãŒ ' no_abs 'ïŒ ' na 'ïŒ
ããã©ã«ãã§ã¯ããã¹ãŠã®çžå¯Ÿãªã³ã¯ã¯çµ¶å¯Ÿãªã³ã¯ã«çœ®ãæããããŸããããã©ã¡ãŒã¿ãŒ '
no_abs 'ã
æå®ãããŠããå Žåãããã¯èµ·ãããŸããã
%pl include("$file_name", "socket no_abs");
- ãªãã·ã§ã³ã®ãã©ã¡ãŒã¿ãŒ ' decode 'ïŒ ' dc 'ïŒ
'
decode 'ãã©ã¡ãŒã¿ãŒã§æå®ããããšã³ã³ãŒãã£ã³ã°ããå
éšPerl圢åŒã«ããã¥ã¡ã³ãããã³ãŒããã次ã«
$ phl {encoding_out}ã®èšå®ã§æå®ããããšã³ã³ãŒãã£ã³ã°ã«ããã¥ã¡ã³ãããã³ãŒãããããã«äœ¿çšãããŸãã
èŠæ±ããããã¡ã€ã«ã®ãœãŒã¹ãšã³ã³ãŒãã£ã³ã°ãæå®ããã«ã
decode ããã©ã¡ãŒã¿ã䜿çšãããå Žåãã
charset ãã®ãã¡ã€ã«ããããŒã§æå®ããããšã³ã³ãŒãã£ã³ã°ãèæ
®ããŠãã³ãŒããå®è¡ãããŸãïŒååšããå ŽåïŒã
'
decode 'ãã©ã¡ãŒã¿ã䜿çšãããªãå Žåãããã©ã«ãã§ã¯ãã¡ã€ã«ãutf-8ãšã³ã³ãŒãã£ã³ã°ã§ãããšæ³å®ãããŸãã
'
no_decode 'ïŒ '
nd 'ïŒãã©ã¡ãŒã¿ãŒã䜿çšãããšãããŒã¿ã®ãã³ãŒãã¯è¡ãããŸããã
1 <%pl 2 include("http://www.rbc.ru", "decode=utf-8"); 3 include("http://www.mail.ru", "decode"); 4 my $html_text1 = include("http://ru.motorsport.com"); 5 my $html_text2 = include("http://www.google.com", "nd"); 6 %>
â¢ãã©ã¡ãŒã¿ãŒ ' fork 'ïŒ ' fk 'ïŒ
ããŠã³ããŒãããããã¡ã€ã«ã®ã³ãŒãã¯ãã
forkïŒïŒ ããå®è¡ããŠäœæããã䞊ååããã»ã¹ã§å®è¡ãããŸãã
1 <%pl 2 include("$file_name", "fork"); 3 %>
䞊åããã»ã¹ã®çµæã¯ãå«ãŸãããã¡ã€ã«åœä»€ã®ããã¹ãã§ã
return ãã䜿çšããŠèŠªã«è¿ãããšãã§ããŸãã
1 <%pl 2 <font color=#646464><I># $phl_var{name}</I></font> 3 my $f = " "; 4 sleep 1; 5 return $f; 6 %>
é¢æ° '
includeïŒïŒ 'ã®3çªç®ã®åŒæ°ã§ã¯ãåããã»ã¹ã®äžæã®ååãæå®ã§ããããããååã§ãåããã»ã¹ãå®è¡ããçµæãèŠæ±ã§ããŸãã
1 <%pl 2 include("$file_name", "fork", "f1"); 3 %>
- ãªãã·ã§ã³ã®ãã©ã¡ãŒã¿ãŒ ' waitpid 'ïŒ ' wd 'ïŒ
åããã»ã¹ã®å®è¡çµæãé¢æ° '
includeïŒïŒ 'ã®ã³ãŒã«ãã€ã³ãã«è¿ãã«ã¯ããã©ã¡ãŒã¿ãŒ '
fork 'ã«å ããŠãã©ã¡ãŒã¿ãŒ '
waitpid 'ãæå®ããããé¢æ° '
includeïŒïŒ 'ã®3çªç®ã®åŒæ°ãšã㊠'
waitpid 'ãæå®ããå¿
èŠããããŸãã
䞊åããã»ã¹ã®åŠççµæã¯ãã¹ã«ã©ãŒãŸãã¯ãªã¹ãã³ã³ããã¹ã㧠'
includeïŒïŒ 'ãåŒã³åºãããšã«ããã芪ããã»ã¹ã«æ»ãããšãã§ããŸãã
1 <%pl 2 $result = include("$file_name", "fork waitpid"); 3 @result = include("$file_name", "fork", "waitpid"); 4 %>
å®éããã©ã¡ãŒã¿ãŒ '
waitpid 'ã¯ã2çªç®ãš3çªç®ã®åŒæ°ã®äž¡æ¹ã§å®å
šã«çç¥ã§ããŸãã ãã®å Žåãããã°ã©ã ã¯åããã»ã¹ã®å®äºãåŸ
æ©ããé¢æ° '
includeïŒïŒ 'ã¯ããã»ã©é¢åã§ã¯ãããŸããã
1 <%pl 2 @result = include("$file_name", "fork", ""); 3 $result = include("$file_name", "fk"); 4 %>
- ãªãã·ã§ã³ã®ãã©ã¡ãŒã¿ãŒ ' no_waitpid 'ïŒ ' nw 'ïŒ
ãã¡ã€ã«ã«äœããæžã蟌ãã ã衚瀺ãããããªãéããããã»ã¹ã®çµæã¯è¿ãããŸããã
1 <%pl 2 include("$file_name", "fork no_waitpid"); 3 include("$file_name", "fork", "no_waitpid"); 4 %>
åããã»ã¹ã®å®è¡çµæãèŠæ±ããã«ã¯ãé¢æ° '
includeïŒïŒ 'ã䜿çšã§ããŸããäºçŽèª '
JOIN 'ãæåã®åŒæ°ãšããŠæå®ããåããã»ã¹ã®ååã2çªç®ã®åŒæ°ãšããŠæå®ããå¿
èŠããããŸãã
1 <%pl 2 include("$file_name", "fork", "f1"); 3 4 # 5 6 my $rezult = include("JOIN", "f1"); 7 %>
ããŒãããã»ã¹ã®ååã§ãããå€ããããã®å®è¡ã®çµæã§ããããã·ã¥ã«ã¢ã¯ã»ã¹ããããšã«ãããããã€ããŸãã¯ãã¹ãŠã®äžŠåããã»ã¹ã®çµæãè¿ãããšãã§ããŸãã
1 <%pl 2 my %join_2_3 = include("JOIN", "f2 f3"); 3 print " 'f2' = $join_2_3{f2}<br>"; 4 5 my %join_all = include("JOIN"); 6 foreach my $key(keys(%join_all)) { 7 if (ref $join_all{$key}) { 8 my @result = @{$join_all{$key}}; 9 print " '$key' = '$join_all{$key}' => "; 10 print " = '$result[0]'<br>"; 11 } else { 12 print " '$key' = '$join_all{$key}'<br>"; 13 } 14 } 15 %>
â¢ãã©ã¡ãŒã¿ãŒ ' thread 'ïŒ ' td 'ïŒ
ãããããã¹ã¬ãããïŒãã¹ã¬ãããïŒãäœæãããŸããããã¯ãã³ãŒããçæããããã»ã¹ã¹ã¬ããã®ã³ãŒããšäžŠè¡ããŠã³ãŒããå®è¡ã§ããããã»ã¹ãã©ã³ãã®äžçš®ã§ãã
ã¹ã¬ãããäœæããã«ã¯ãæšæºã¢ãžã¥ãŒã« '
thread 'ã䜿çšãããŸãïŒé çªã«ãPerlã¯ã¹ã¬ããã§åäœããããã«æ§æããå¿
èŠããããŸãïŒã
1 <%pl 2 include("$file_name", "thread"); 3 %>
'
fork 'ãã©ã¡ãŒã¿ãŒã®å Žåã®ããã«ãã¹ã¬ããã䜿çšããå Žåãäœæãããã¹ã¬ããã®å®è¡çµæããé¢æ° '
includeïŒïŒ 'ã®åŒã³åºããã€ã³ããããã°ã©ã å
ã®ä»»æã®ãã€ã³ãã®äž¡æ¹ã«è¿ãããäœãè¿ããã«çµæããå¿ãããããšãã§ããŸãã
- ãªãã·ã§ã³ã®ãã©ã¡ãŒã¿ãŒ ' join 'ïŒ ' jn 'ïŒ
ã¹ã¬ããã®å®è¡çµæã¯ãã€ã€ã«ãã¢ã«æ»ããŸããã芪ããã»ã¹ã¯å®è¡ãäžæçã«åæ¢ããïŒäœæãããã¹ã¬ããããïŒããŒã¿ãåä¿¡ãããã®ãåŸ
ã¡ãŸãã
1 <%pl 2 $result = include("$file_name", "thread join"); 3 @result = include("$file_name", "thread", "join"); 4 %result = include("$file_name", "thread"); 5 %>
- ãªãã·ã§ã³ã®ãã©ã¡ãŒã¿ãŒ ' detach 'ïŒ ' dh 'ïŒ
ã¹ã¬ããã¯äœæãããŸãããããã»ã¹ã®ã¡ã€ã³ã¹ã¬ããã¯ãã®äžã§äœãèµ·ããããç¥ããŸããã
1 <%pl 2 include("$file_name", "thread detach"); 3 include("$file_name", "thread", "detach"); 4 %>
ã¹ã¬ããã«ååãå²ãåœãŠãããšã«ãããããã»ã¹ã®ã¡ã€ã³ãã©ã³ãã®ä»»æã®ãã€ã³ãã«ããŒã¿ãè¿ãããšãã§ããŸãïŒ '
fork 'ãã©ã¡ãŒã¿ãŒã§äœæãããåããã»ã¹ã«äŒŒãŠããŸãïŒã
1 <%pl 2 include("$file_name", "thread", "t1"); 3 include("$file_name", "thread", "t2"); 4 include("$file_name", "thread", "t3"); 5 6 my $rezult = include("JOIN", "t2"); 7 print " 't2' = '$rezult'<br>"; 8 9 my %join = include("JOIN", "t1 t3"); 10 print " 't1' = '$join{t1}'<br>"; 11 print " 't3' = '$join{t3}'<br>"; 12 %>
â¢ç¬èªã®ãã©ã¡ãŒã¿ãŒ
å¿
èŠã«å¿ããŠãç¬èªã®ïŒè¿œå ã®ïŒãã©ã¡ãŒã¿ãŒãå®çŸ©ããããæ¢åã®ãã©ã¡ãŒã¿ãŒãåå®çŸ©ã§ããŸãã ããã¯ãç¹å¥ã«èšèšãããã¢ãžã¥ãŒã«ã䜿çšããŠå®è£
ãããŸãã
ãããã£ãŠãããšãã°ãã
HTML :: Phl :: Utilit ã
ã¢ãžã¥ãŒã«ãšã
analys ãïŒã
as ãïŒãã©ã¡ãŒã¿ãŒã䜿çšãããšã
evalãå®è¡ããåã«ã¢ãã©ã€ã¶ãŒã«ãã£ãŠçæãããã€ã³ã¯ã«ãŒããã¡ã€ã«ã®perlã³ãŒãã衚瀺ã§ããŸãã
äŸïŒ 1 %pl -ev use HTML::Phl::Utilit; 2 3 <%pl 4 include("$file_name", "as"); 5 %>
ãªã¹ãã£ã³ã° 1 HTML<br> 2 3 <%pl 4 my $test = " Perl<br>"; 5 print ("$test"); 6 %> 7 8 HTML<br>
çµæ 1 print <<'[HTML]'; 2 HTML<br> 3 4 [HTML] 5 my $test = " Perl<br>"; 6 print ("$test"); 7 print <<'[HTML]'; 8 9 HTML<br> 10 [HTML]
PHLæ¡åŒµã¢ãžã¥ãŒã«^
ããé«ãæè»æ§ãå®çŸããããã«ãPHLã¯ãç¬èªã®åœä»€ãã€ã³ã¿ãŒ
[sh] ãããŒ
[keys] ãæåã®åŒæ°
[include]ããã³é¢æ° '
includeïŒïŒ 'ã®ãã©ã¡ãŒã¿ãŒ
[param]ãèšå®ããæ©èœãå®è£
ããŸãã
<ïŒ
[sh] [ããŒ]...
includeïŒ " [include] "ã " [param] "ïŒ ;
...
ïŒ
>æ°ããããŒããã©ã¡ãŒã¿ãŒãããã³ãã€ã³ã¿ãŒã¯ããããã®ç®çã®ããã«ç¹å¥ã«äœæãããã¢ãžã¥ãŒã«ãã
phl.pmã«ã€ã³ããŒããããŸãã
ããšãã°ãPHLã«ã¯4ã€ã®ã¢ãžã¥ãŒã«ãå«ãŸããŠããŸãã
use HTML::Phl::Utilit; use HTML::Phl::Psimple; use HTML::Phl::Php; use HTML::Phl::Ru;
ã¢ãžã¥ãŒã«ã¯ããã¡ã€ã«ã
phl.pm ããŸãã¯ã
config.phl ããšPHLãã¡ã€ã«ã®äž¡æ¹ã§æ¥ç¶ã§ããŸãã
1 %pl -ev use HTML::Phl::Utilit 2 3 <%pl 4
â¢ã¢ãžã¥ãŒã« ' HTML :: Phl :: Utilit '
ãã®ã¢ãžã¥ãŒã«ã¯ã5ã€ã®ããŒã2ã€ã®ãã©ã¡ãŒã¿ãŒã2ã€ã®åŒæ°ãããã°ã©ã ã® '
includeïŒïŒ 'é¢æ°ã«ãšã¯ã¹ããŒãããŸãã
[keys]ïŒ-listing-analys-config-timer-no_timer[param]ïŒãªã¹ãåæ[include]ïŒCONFIGTIMERã㌠' -listing ' [' -lt ']ããã³ ' -analys ' [' -as ']ããã³ãã©ã¡ãŒã¿ãŒãlistingãïŒãltãïŒããã³ãanalysãïŒãasãïŒã䜿çšãããšãevalãå®è¡ããåã«ãã¢ãã©ã€ã¶ãŒã«ãã£ãŠçæãããããã°ã©ã ãªã¹ããŸãã¯perlã³ãŒãã衚瀺ã§ããŸããããŒ-äžå Ž'[' -lt '] 1 HTML 1 2 <br><br> 3 4 <%pl -lt 5 my $test = " Perl<br>"; 6 print "$test"; 7 %> 8 <br> 9 10 HTML 2
çµæHTML 1
1 my $test = " Perl<br>"; 2 print "$test";
HTML 2
ã㌠' -analys ' [' -as '] 1 %pl -as 2 3 <%pl 4 my $test = " Perl<br>"; 5 print ("$test"); 6 %> 7 8 HTML <%pl= $test %>
çµæ 1 ; 2 print <<'[HTML]'; 3 4 [HTML] 5 my $test = " Perl<br>"; 6 print ("$test"); 7 print <<'[HTML]'; 8 9 [HTML] 10 print <<'[HTML]' =~ /(.*)/; 11 HTML 12 [HTML] 13 print($test);
ã㌠' -config ' [' -cf ']ãŸãã¯é¢æ° ' includeïŒïŒ ' ã®åŒæ° ' CONFIG ' ã¯ãæ§æå€æ°ã®ããã·ã¥ïŒ
phlãåºåããŸãã 1 %pl -config 2 3 4 5 <%pl 6 include("CONFIG"); 7 %>
çµæ
bottom = ''
bufer = ' 1 '
config = ' config.phl '
config_path = ''
encoding_in = ' utf8 '
encoding_out = ' utf8 '
finde_config = ' yes '
header = ' Content-type: text/html; charset=utf-8 '
index = ' index.phl '
ln = ' % '
locale = ' utf8 '
lt = ' <% '
pl = ' phl '
rt = ' %> '
script_dir = ''
sh = ' pl '
threads = ' 1 '
timer = ' 0 '
top = ''
'
-timer ' [ '
-tm ' ] '
-no_timer ' [ '
-nt ' ] , '
TIMER ' '
include() ' .
1 <%pl 2 # 3 %pl -timer 4 5 # 6 %pl -nt 7 %>
äŸ1. timer '-timer' '-tm'
timer = 42. 'include()' ( )
=>
⢠â 0.248574 [0.226931 ] < INCLUDE_BEGINE ()
⢠â 0.248953 [0.227302 ] < INCLUDE_END ()
test:
timer = 43. timer '-no_timer' '-nt'
4. 'include()'
=> test:
timer = 0 1 <%pl 2 # 3 include("TIMER", " "); 4 %>
äŸ1⢠â 0.000005 < TIMER (name_timer_1)
â
sleep 0.2⢠â 0.200440 < TIMER (name_timer_1)
2⢠â 0.000004 < TIMER (name_timer_2)
â
sleep 0.5⢠â 0.701001 < TIMER (name_timer_1)
⢠â 0.500496 < TIMER (name_timer_2)
3⢠â 0.000003 < TIMER (name_timer_3)
â
sleep 0.35⢠â 1.051648 < TIMER (name_timer_1)
⢠â 0.851139 < TIMER (name_timer_2)
⢠â 0.350579 < TIMER (name_timer_3)
⢠' HTML::Phl::Php '
'
php ', '
<%pl ' '
<%php ', PHP;
1 %pl -ev use HTML::Phl::Php; 2 3 %pl our $pl = 5; 4 5 PERL: $pl = <b>'<%pl= $pl %>'</b>. 6 <br><br> 7 8 <%php 9 echo " $pl PHP ($pl -> $php).<br>"; 10 OUT_PERL($pl -> $php); 11 12 echo "<li> $php = $php.</li><br>"; 13 14 echo " PHP : $php = 2 * $php + 1.5.<br><br>"; 15 $php = 2 * $php + 1.5; 16 17 echo " $php PERL ($php -> $pl).<br>"; 18 IN_PERL($php -> $pl); 19 %> 20 21 <li> PERL: $pl = <b>'<%pl= $pl %>'</b></li>.
çµæPERL: $pl = '5' .
$pl PHP ($pl -> $php).
$php = 5.
PHP : $php = 2 * $php + 1.5.
$php PERL ($php -> $pl).
PERL: $pl = '11.5' .
⢠' HTML::Phl::Ru '
ãã€ã³ã¿ãŒ ' rus 'ããšã¯ã¹ããŒãããåœä»€ãã€ã³ã¿ãŒ ' <ïŒ
pl 'ã ' <ïŒ
rus 'ã«å€ããŠãããªã«æåã®èšè¿°ã®ããã€ãã®é¢æ°ãšæŒç®åãæäœã§ããããã«ããŸãã 1 %pl -ev use HTML::Phl::Ru; 2 3 <% 4 my @_ = ( 5 'file_exist.phl', 6 'http://www.pushkinmuseum.ru', 7 'http://www.pushkinmuseum.ru/467899', 8 'http://eklmn12344556778.ru' 9 ); 10 11 foreach my $_ (@_) { 12 my $ = ("$_", "socket exist"); 13 ($) { 14 "'$_' - <B></B><br>"; 15 } (!defined $) { 16 "'$_' - <B> </B><br>"; 17 } { 18 ("'$_' - <B> </B><br>"); 19 } 20 } 21 %>
çµæ'file_exist.phl' â
'http://www.pushkinmuseum.ru' â
'http://www.pushkinmuseum.ru/467899' â
'http://eklmn12344556778.ru' â
â¢ã¢ãžã¥ãŒã« ' HTML :: Phl :: Psimple '
æšæºã®Perlã¢ãžã¥ãŒã« ' LWP :: Simple ' ãæäœããããã® ' Simple ' [' sl '] ãã©ã¡ãŒã¿ãŒããšã¯ã¹ããŒãããŸããæ¡åŒµã¢ãžã¥ãŒã«æ§é
ããŒããã©ã¡ãŒã¿ãŒãããã³ãã€ã³ã¿ãŒããšã¯ã¹ããŒãã§ããããã«ããã«ã¯ãã¢ãžã¥ãŒã«ãç¹å®ã®ãã©ã«ããŒïŒããã©ã«ãã§ã¯ãããã°ã©ã ' phl.pm ' ã®ã¡ã€ã³ãã¡ã€ã«ã®é£ã® 'Phl 'ïŒã«é
眮ãã2çªç®ã®ããã·ã¥ã®ããŒãå«ãŸãã2次å
ããã·ã¥ ' ïŒ
phl_import 'ãå«ããå¿
èŠããããŸããšã¯ã¹ããŒããããããŒããã©ã¡ãŒã¿ãŒãããã³ãã€ã³ã¿ãŒãããã·ã¥ãïŒ
phl_importãã«ã¯ããshãããkeyãããparamãããincludeãããevalãã®5ã€ã®ããŒãå«ããããšãã§ããŸãã 1 our %phl_import = ( 2 key => { 3 tm => \&HTML::Phl::Utilit::key_timer, 4 im => \&HTML::Phl::Utilit::print_import, 5 }, 6 include => { 7 TIMER => \&HTML::Phl::Utilit::my_timer, 8 CONFIG => \&HTML::Phl::Utilit::config, 9 }, 10 param => {lt => \&HTML::Phl::Utilit::open_listing}, 11 sh => {'' => \&HTML::Phl::Ru::ru_perl}, 12 eval => {as => \&HTML::Phl::Utilit::eval_code} 13 );
æ§æèšå®^
æ§æãã¡ã€ã«ãconfig.phlãã䜿çšãããšããphl.pmãã§æå®ãããããŒã¹å€æ°ããªãŒããŒã©ã€ãã§ããŸããPHLãã¡ã€ã«ãå«ãä»»æã®Webãã£ã¬ã¯ããªã«é
眮ã§ããŸããæ§æãã¡ã€ã«ã¯Perl圢åŒã§éçºãããïŒ
phlããã·ã¥ããŒã®å€ãå«ãŸããŠããŸããconfig.phl# , , PHL ( â '.phl')$phl{pl} = '
phl ';
# , 'include()' , , domain.ru/file_path$phl{index} = '
index.phl ';
# 'config.phl' include() [ yes/no ]$phl{finde_config} = "
yes ";
# [ , '<%pl code_perl %>', '%pl line_code_perl' ]$phl{lt} = '
<% ';
#$phl{rt} = '
%> ';
#$phl{ln} = '
% ';
#$phl{sh} = '
pl ';
# ( perl)# [ , «Content-type: text/html; charset=utf-8\n\n»; $phl_header = "" â ]$phl{header} = "";
#$phl{top} = "";
#$phl{bottom} = "";
# [ «1» => $| = 1, «0» => $| = 0 ]$phl{bufer} =
1 ;
# () [ 1/0 ]$phl{threads} =
1 ;
# [ => «0» â , «1»...«4» â ]$phl{timer} =
0 ;
# [ cp1251, utf8, koi8-r, iso-8859-5, cp866⊠]$phl{encoding_in} = "
utf8 ";
# include()$phl{encoding_out} = "
utf8 ";
#$phl{locale} = "
utf8 ";
#
PHLãã£ã¹ããªãã¥ãŒã·ã§ã³^
ã¢ãžã¥ãŒã«ãHTML :: Phlããšè¿œå ã®æ¡åŒµã¢ãžã¥ãŒã«ããã¹ããããã³ãµã³ãã«ã¯ããããããŠã³ããŒãã§ããŸããAndroid OSã§ã¢ãžã¥ãŒã«ã®åäœããã¹ãããå Žåã¯ããã®ç°å¢ã§perlããã°ã©ã ãå®è¡ã§ããSL4Aãã€ã³ã¹ããŒã«ããå¿
èŠããããŸããç¹ã«ãPerlãªã¯ãšã¹ãã«åºã¥ããŠHTMLããŒãžãçæã§ããWebãµãŒããŒã§ããããã§ãAndroidåãã®Perl WebãµãŒããŒã®èšè¿°æ¹æ³ã確èªããããPHLã䜿çšããããã«å°ãå€æŽããããŒãžã§ã³ãããŠã³ããŒãã§ããŸãã