Tripletail
view release on metacpan or search on metacpan
lib/Tripletail.pm view on Meta::CPAN
sub _isa
{
my $val = shift;
my $type = shift;
defined($type) or die 'undefined arg:type';
defined($val) or return; # false.
if( defined(ref($val)) )
{
return ref($val) eq $type || (blessed($val) && $val->isa($type));
}else
{
local($@);
local($SIG{__DIE__}) = 'DEFAULT';
my $ret = eval { $val->isa($type); };
$@ and print STDERR __PACKAGE__."._isa: $@";
$ret;
}
}
__END__
=encoding utf-8
=for stopwords
YAMASHINA
Hio
ACKNOWLEDGEMENTS
AnnoCPAN
CPAN
RT
AU
CGI
FCGI
fcgi
FastCGI
Ki
Mi
Gi
Ti
Pi
Ei
TL
UTF-8
Shift_JIS
EUC-JP
ISO-2022-JP
Unicode
YMIRLINK
const
diewithprint
init
ini
inigroup
errorlog
errormail
errormailtype
errortemplate
errortemplatecharset
escapeJs
escapeJsString
PadWalker
MemCached
memcached
mon
fcgilog
filelog
imode
sjis-imode
ja
printCacheUnlessModified
setContentFilter
startCgi
=head1 NAME
Tripletail - Tripletail, Framework for Japanese Web Application
=head1 NAME (ja)
Tripletail - Tripletail, æ¥æ¬èªåãã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ãã¬ã¼ã ã¯ã¼ã¯
=head1 SYNOPSIS
use Tripletail qw(tl.ini);
$TL->startCgi(
-main => \&main,
);
sub main {
my $t = $TL->newTemplate('index.html');
$t->flush;
}
=head1 DESCRIPTION
=head2 C<use>
Tripletail ã§ã¯ãã©ã¤ãã©ãªã®å種è¨å®ã¯ L<Ini|Tripletail::Ini> ãã¡ã¤ã«ã«ç½®ãããã
å®è¡ãéå§ãããã¹ã¯ãªããã®å
é ã§ã次ã®ããã«å¼æ°ã¨ã㦠L<Ini|Tripletail::Ini>
ãã¡ã¤ã«ã®ä½ç½®ã渡ããããã¨ã°ãã¼ãã«å¤æ° C<$TL> ãã¨ã¯ã¹ãã¼ããããã
L<Ini|Tripletail::Ini> ãã¡ã¤ã«æå®ã¯å¿
é ã§ããã
use Tripletail qw(/home/www/ini/tl.ini);
ä»ã®ãã¡ã¤ã«ãã C<$TL> 夿°ã使ãå ´åã¯ããã®ããã±ã¼ã¸å
ã§
C<use Tripletail;> ã®ããã«å¼æ°ç¡ãã§ C<use> ãããäºåº¦ç®ä»¥éã® C<use> ã§
L<Ini|Tripletail::Ini> ãã¡ã¤ã«ã®ä½ç½®ãæå®ãããã¨ããå ´åã¯ã¨ã©ã¼ã¨ãªãã
è¨å®ãã¡ã¤ã«ã®è¨å®å¤ã®ãã¡ãä¸é¨ã®å¤ãç¹å®ã® CGI ã§å¤æ´ãããå ´åã¯ã
次ã®ããã«2ã¤ã以é弿°ã«ç¹åæå®ããããã¨ãåºæ¥ãã
use Tripletail qw(/home/www/ini/tl.ini golduser);
ç¹åæå®ãè¡ã£ãå ´åãã©ã¤ãã©ãªå
ã§ Ini ãã¡ã¤ã«ãåç
§ããéã«ã
ã¾ããã°ã«ã¼ãå + ":" + ç¹åæå®å¤ãã®ã°ã«ã¼ãã§æ¤ç´¢ãè¡ãã
çµæããªãã£ãå ´åã¯ãé常ã®ã°ã«ã¼ãåã®æå®å¤ã使ç¨ãããã
lib/Tripletail.pm view on Meta::CPAN
tempdir = /tmp
䏿ãã¡ã¤ã«ãç½®ããã£ã¬ã¯ããªããã®ãã©ã¡ã¼ã¿ã®æå®ãç¡ãæãã¢ãããã¼
ãããããã¡ã¤ã«ã¯å
¨ã¦ã¡ã¢ãªä¸ã«ç½®ãããããæå®ããã£ãå ´åã¯æå®ãã
ããã£ã¬ã¯ããªã«ä¸æãã¡ã¤ã«ã¨ãã¦ç½®ãããã䏿ãã¡ã¤ã«ãä½ãéã«ã¯ã
ãã¡ã¤ã«ã open ããç´å¾ã« unlink ããçºãã¢ããªã±ã¼ã·ã§ã³å´ã§ãã¡ã¤ã«
ãã³ãã«ãéãããããã»ã¹ãçµäºãããããã¨ãä½ããã䏿ãã¡ã¤ã«ã¯ç´
ã¡ã«èªåã§åé¤ãããã
=item C<errormail>
errormail = null@example.org%Sendmail
sendErrorããã¨ã©ã¼çºçæã«ã¡ã¼ã«ãéãå
ãæå®ããã
C<ã¢ã«ã¦ã³ãå@ãã¡ã¤ã³å%inigroup> ãã®å½¢å¼ã§æå®ããã
inigroup ã« L<Tripletail::Sendmail> ã¯ã©ã¹ã§ä½¿ç¨ãã inigroup ãæå®ããã
inigroup ãçç¥ããã㨠C<'Sendmail'> ã使ãããã
=item C<errormailtype>
errormailtype = error file-update memory-leak
ã©ã®ãããªäºè±¡ãçºçããæã« errormail ã§æå®ãããå
ã«ã¡ã¼ã«ãéããã
以ä¸ã®é
ç®ãã¹ãã¼ã¹åºåãã§ä»»æã®æ°ã ãæå®ããã
ããã©ã«ã㯠'error memory-leak' ã§ããã
=item C<errormail_subject_len>
errormail_subject_len = 80
ã¨ã©ã¼çºçæã«éãããã¡ã¼ã«ã®è¡¨é¡ã®æå¤§é·ãé·éããã¨ã¡ã¼ã«éä¿¡ã«å¤±æ
ããå ´åããããããã©ã«ã㯠80 ãã¤ãã
=over 4
=item C<error>
ã¨ã©ã¼ãçºçããæã«ã¡ã¼ã«ãéãã
ã¡ã¼ã«ã®å
容ã«ã¯ã¹ã¿ãã¯ãã¬ã¼ã¹çãå«ã¾ããã
=item C<file-update>
L<Tripletail::FileSentinel> ãç£è¦å¯¾è±¡ã®ãã¡ã¤ã«ã®æ´æ°ãæ¤åºããæã«ã¡ã¼ã«ãéãã
ã¡ã¼ã«ã®å
容ã«ã¯æ´æ°ããããã¡ã¤ã«ããã®æ´æ°æå»ãå«ã¾ããã
=item C<memory-leak>
L<Tripletail::MemorySentinel> ãã¡ã¢ãªãªã¼ã¯ã®å¯è½æ§ãæ¤åºããæã«ã¡ã¼ã«ãéãã
ã¡ã¼ã«ã®å
容ã«ã¯ã¡ã¢ãªã®ä½¿ç¨ç¶æ³ãå«ã¾ããã
=back
=item C<errorlog>
errorlog = 1
ã¨ã©ã¼çºçæã«ãã°ã«æ
å ±ãæ®ããã©ãããæå®ããã
1 ãæå®ãããã°ã¨ã©ã¼æ
å ±ãæ®ãã
2 ãæå®ãããã°ãã¨ã©ã¼æ
å ±ã«å ãã CGI ã®ãªã¯ã¨ã¹ãå
å®¹ãæ®ãï¼startCgiå
ã§ã®ã¨ã©ã¼ã®ã¿ï¼ã
3 ãæå®ãããã°ããã¼ã«ã«å¤æ°å
容ãå«ãã 詳細ãªã¨ã©ã¼æ
å ±ã«å ãã¦ï¼ä½ã PadWalker ãå¿
è¦ï¼ã CGI ã®ãªã¯ã¨ã¹ãå
å®¹ãæ®ãã
0 ã§ããã°æ
å ±ãæ®ããªãã
ããã©ã«ã㯠1ã
=item C<fcgilog>
fcgilog = 1
FCGI é¢é£ã®åä½ããã°ã«è¨é²ãããã©ãããæå®ããã
1 ãæå®ãããã°è¨é²ããã
0 ã§ããã°è¨é²ããªãã
ããã©ã«ã㯠0ã
=item C<memorylog>
memorylog = full
ãªã¯ã¨ã¹ãæ¯ã«ã¡ã¢ãªæ¶è²»ç¶æ³ããã°ã«æ®ããã©ãããæå®ããã
'leak', 'full' ã®ã©ã¡ããããé¸ã¶ã
'leak' ã®å ´åã¯ãã¡ã¢ãªãªã¼ã¯ãæ¤åºãããå ´åã®ã¿ãã°ã«æ®ãã
'full' ã®å ´åã¯ãã¡ã¢ãªãªã¼ã¯ã®æ¤åºã¨ã¯ç¡é¢ä¿ã«ããªã¯ã¨ã¹ãæ¯ã«ãã°ã«æ®ãã
ããã©ã«ã㯠'leak' ã
=item C<filelog>
filelog = full
ãã¡ã¤ã«ã®æ´æ°ã®ç£è¦ç¶æ³ããã°ã«æ®ããã©ãããæå®ããã
'C<update>', 'C<full>' ã®ã©ã¡ããããé¸ã¶ã
'C<update>' ã®å ´åã¯ããã¡ã¤ã«ãæ´æ°ãããå ´åã®ã¿ãã°ã«æ®ãã
'C<full>' ã®å ´åã¯ããã¡ã¤ã«ã®ç£è¦ãéå§ããéã«ããã°ã«æ®ãã
ããã©ã«ã㯠'C<update>'ã
=item C<trap>
trap = die
ã¨ã©ã¼å¦çã®ç¨®é¡ã'C<none>', 'C<die>'ï¼'C<diewithprint>' ããé¸ã¶ãããã©ã«ãã¯'C<die>'ã
=over 4
=item C<none>
ã¨ã©ã¼ãã©ãããä¸åããªãã
=item C<die>
L</"Main 颿°"> ãdie ããå ´åã«ã¨ã©ã¼è¡¨ç¤ºããã以å¤ã®å ´æã§ã¯ãã©ããããªããwarnã¯è¦éãã
=item C<diewithprint>
L</"Main 颿°"> ãdie ããå ´åã«ã¨ã©ã¼è¡¨ç¤ºãL</"Main 颿°"> 以å¤ã§die ããå ´åã¯ããããã¨å
±ã«ã¨ã©ã¼å
容ãããã¹ãã§è¡¨ç¤ºãããwarnã¯è¦éãã
=back
=item C<stacktrace>
stacktrace = full
ã¨ã©ã¼çºçæã«è¡¨ç¤ºããã¹ã¿ãã¯ãã¬ã¼ã¹ã®ç¨®é¡ã'none' ã®å ´åã¯ãã¹ã¿ãã¯
ãã¬ã¼ã¹ãä¸å表示ããªãã'C<onlystack>' ã®å ´åã¯ãã¹ã¿ãã¯ãã¬ã¼ã¹ã®ã¿ã
表示ããã'full' ã®å ´åã¯ãã¹ã¿ãã¯ãã¬ã¼ã¹ã«å ãã¦ã½ã¼ã¹ã³ã¼ãæ¬ä½ä¸¦ã³
ã«åãã¬ã¼ã ã«æ¼ãããã¼ã«ã«å¤æ°ã®ä¸è¦§ãã表示ãããããã©ã«ãã¯
'C<onlystack>'ã
ä½ããã¼ã«ã«å¤æ°ä¸è¦§ã表示ããã«ã¯ L<PadWalker> ãã¤ã³ã¹ãã¼ã«ããã¦ã
ãªããã°ãªããªãã
注æ: 'full' ã®ç¶æ
ã§ã¯ãC<stackallow> ã§è¨±ãããå
¨ã¦ã®ã¦ã¼ã¶ã¼ãã
ãã©ã¦ã¶ããå
¨ã¦ã®ã½ã¼ã¹ã³ã¼ãåã³ ini
ãã¡ã¤ã«ã®ä¸èº«ãèªãäºãåºæ¥ãç¹ã«æ³¨æãããã¨ã
=item C<stackallow>
stackallow = 192.168.0.0/24
C<stacktrace> ã®å¤ã 'none' ã§ãªãå ´åã§ãã£ã¦ããC<stackallow> ã§æå®ããã
ããããã¹ã¯ã«è©²å½ããªã IP ããã®æ¥ç¶ã§ããå ´åã«ã¯ãã¹ã¿ãã¯ãã¬ã¼ã¹
ã表示ããªãããã¹ã¯ã¯ç©ºç½ã§åºåã£ã¦è¤æ°åæå®ããäºãå¯è½ã
ããã©ã«ãã¯å
¨ã¦ç¦æ¢ã
=item C<maxrequestcount>
maxrequestcount = 100
FastCGI ã¢ã¼ãæã«ã1ã¤ã®ããã»ã¹ã§ä½åã¾ã§å¦çãè¡ãããè¨å®ããã
0ãè¨å®ããã°åæ°ã«ãã£ã¦ããã»ã¹ãçµäºãããã¨ã¯ãªãã
ããã©ã«ãã¯0ã
=item C<errortemplate>
errortemplate = /home/www/error.html
ã¨ã©ã¼çºçæã«ãé常ã®ã¨ã©ã¼è¡¨ç¤ºã§ã¯ãªããæå®ããã
ãã³ãã¬ã¼ããã¡ã¤ã«ã表示ããã
=item C<errortemplatecharset>
errortemplatecharset = Shift_JIS
errortemplateæå®æã«ãã¨ã©ã¼ã¡ãã»ã¼ã¸ãè¿ãéã® charset ãæå®ããã
UTF-8 ï¼ Shift_JIS ï¼ EUC-JP ï¼ ISO-2022-JP ãæå®ã§ãããããã©ã«ã㯠UTF-8 ã
=item C<outputbuffering>
outputbuffering = 0
startCgi ã¡ã½ããä¸ã§åºåããããã¡ãªã³ã°ãããã©ããã
0 ã ã¨ãããã¡ãªã³ã°ãè¡ããã
1 ã ã¨ãããã¡ãªã³ã°ãè¡ãã
ããã©ã«ãã¯0ã
ãããã¡ãªã³ã°ããªãå ´åãprint ããå
容ã¯ããã«è¡¨ç¤ºãããããå°ãã§ã表示ãè¡ã£ãå¾ã«ã¨ã©ã¼ãçºçããå ´åã¯ãã¨ã©ã¼ãã³ãã¬ã¼ãã綺éºã«è¡¨ç¤ºãããªãã
ãããã¡ãªã³ã°ãè¡ã£ãå ´åãprint ããå
容ã¯ãªã¯ã¨ã¹ãçµäºæã¾ã§è¡¨ç¤ºãããªãããå¦çä¸ã«ã¨ã©ã¼ãçºçããå ´åãåºåå
容ã¯ç ´æ£ãããã¨ã©ã¼ãã³ãã¬ã¼ãã®å
容ã«å·®ãæ¿ãããã...
ã¾ããContent-Length ããããä»ä¸ãããã
L<Tripletail::Filter::MobileHTML> ãå©ç¨ããå ´åãC<outputbuffering> ã¯1ã«ã»ãããããã
=for COMMENT
æå¹ã«ãã㨠Content-Filter ã¸ã®ä¸ç¶ãè¡ãããªããªã.
ãã®é, CGI çµäºæã«ï¼ã¤ã®ãã¼ã¿ã§printãã, ç¶ãã¦flushããã.
=item C<allow_mutable_input_cgi_object>
( run in 2.587 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )