The London Perl and Raku Workshop takes place on 26th Oct 2024. If your company depends on Perl, please consider sponsoring and/or attending.

NAME

TL - Tripletail, Framework for Japanese Web Application

NAME (ja)

TL - Tripletail, ��ユ�㋝����������⓾�с����≪����ŝ�宴�若�激�с�潟����㋘�若����壔�若�

SYNOPSIS

  use TL qw(tl.ini);
  
  $TL->startCgi(
      -main => \&main,
  );
  
  sub main {
      my $t = $TL->newTemplate('index.html');

      $t->flush;
  }
  

DESCRIPTION

use

tl��с�壔����í�ゃ����í�ŝ�勐��腮勤┃絎���� Ini �����<�ゃ�˨�̥舟������������

絎�茵�������紮������������鴻�壔�ŝ�������勐����㏍�с��罨<�勉��������綣���違�������� Ini �����<�ゃ�˨�勌��臀勉��羝<����������������違�㏍�若�����紊���� $TL ��������壔�鴻����若�������������� Ini �����<�ゃ�����絎���壠�������с��������

  use TL qw(/home/www/ini/tl.ini);

篁���勉����<�ゃ�˨����� $TL 紊���違��篏帥����翫����壔�������勉�������宴�若�後���� use TL; ��勉��������綣���亥�<����� use ���������篋�綺☎�勌札������ use �� Ini �����<�ゃ�˨�勌��臀勉�����絎���������������������翫����壔����í�若����ŝ�����

荐㊤�������<�ゃ�˨�勤┃絎���ゃ�勉����<��筝������勐�ゃ����劫�����CGI��у����眼����������翫����壔�� 罨<�勉��������2��ゃ��篁ラ��綣���違�̥�劫�����絎���������������������堺�ャ�����

  use TL qw(/home/www/ini/tl.ini golduser);

��劫�����絎����茵���c����翫�������í�ゃ����í�ɱ����� Ini �����<�ゃ�˨�������с����������˨�� ��障�������違�˨�若����� + ":" + ��劫�����絎���ゃ����勉�違�˨�若����ф��膣≪��茵������� 腟���������ŝ����c����翫����壔�����絽吾�勉�違�˨�若�������勖��絎���ゃ��篏睡��������������

��障�������泣�若�����IP�����ŝ�≪�若�����IP��˨�����篏睡����������違�˨�若�����紊���眼����������������堺�ャ����������������� �����違�˨�若����� + "@sever" + 篏睡����������泣�若����勉����鴻�壠�ゃ�� �����違�˨�若����� + "@remote" + 篏睡����������ŝ�≪�若����勉����鴻�壠�ゃ�� ��������c����後�������ŝ�����

篏���������鴻�壔�ŝ�������ц儀�����������翫�������ŝ�≪�若�����IP���絎������⓾����������勉�壠����☎�∴�������������� ��泣�若�����IP���絎������⓾����������勉�勐�翫�����hostname -i��у��緇���������ゃ�с��������������������

篏睡����������泣�若����勉����鴻�壠�ゃ�������ŝ�≪�若����勉����鴻�壠�ゃ�̹�≪����⓾�壔��Ini筝㏍��[HOST]��違�˨�若����̬┃絎����������箴������井❶��勉�������˨�ŝ�����

  [HOST]
  Debughost = 192.168.10.0/24
  Testuser = 192.168.11.5 192.168.11.50
  [TL@server:Debughost]
  logdir = /home/tl/logs
  errormail = tl@example.org
  [TL@server:Debughost]
  logdir = /home/tl/logs/regist

�����鴻�壔�夌Ã��純�у�阪����c�☀����医�����絎�������篋�����櫝�純��

篏�������[HOST]��˨�夌�劫�����絎���壠�ñ����с����ŝ�����

��劫�����絎����篋�腮勉�������������壔��筝�腮勉��腟���水����������☗�ñ�������������������堺�ャ�������������勐�翫����勰��綺���壔����違�˨�若����� + ":" + ��劫�����絎���� + "@sever" + 篏睡����������泣�若����勉����鴻�壠�� + "@remote" + 篏睡����������ŝ�≪�若����勉����鴻�壠�ゃ����у�阪����с�������������勌����勌研��潟�ф��絎���������������壠�堺�ャ�ŝ�����

��劫�����絎���虁����域����������������с����������勐�翫����壩�������勖�鴻����吾����������勉�祉�ï�ɱ�������˩戎���������������

��劫�����絎�

��劫�����絎���勐�隙�����箴����腓冴��

  [HOST]
  Debughost = 192.168.10.0/24
  Testuser = 192.168.11.5 192.168.11.50
  [TL:regist@server:Debughost]
  logdir = /home/tl/logs/regist/debug
  [TL@server:Debughost]
  logdir = /home/tl/logs
  errormail = tl@example.org
  [TL]
  logdir = /home/tl/logs
  [TL:regist]
  logdir = /home/tl/logs/regist
  [Debug@remote:Testuser]
  enable_debug=1

���������tl.ini���絖���������⓾�������翫����

  use TL qw(/home/www/ini/tl.ini regist);
��с��莎桁����������翫�����罨<�勉�������ɱ��篏���˨�ŝ�����

�����㏍�違�í�������������⓾�������泣�若��������192.168.10.0/24��с����������≪�壔�祉�鴻�����膊�������IP���192.168.11.5���192.168.11.50��с�������翫��

  [TL]
  logdir = /home/tl/logs/regist/debug
  errormail = tl@example.org
  [Debug]
  enable_debug=1

�����㏍�違�í�������������⓾�������泣�若��������192.168.10.0/24��с����������≪�壔�祉�鴻�����膊�������IP���192.168.11.5���192.168.11.50��с�夌�<����翫��

  [TL]
  logdir = /home/tl/logs/regist


  use TL qw(/home/www/ini/tl.ini regist);
��с��莎桁����������翫�����罨<�勉�������ɱ��篏���˨�ŝ�����

�����㏍�違�í�������������⓾�������泣�若��������192.168.10.0/24��с����������≪�壔�祉�鴻�����膊�������IP���192.168.11.5���192.168.11.50��с�������翫��

  [TL]
  logdir = /home/tl/logs/debug
  errormail = tl@example.org
  [Debug]
  enable_debug=1

�����㏍�違�í�������������⓾�������泣�若��������192.168.10.0/24��с����������≪�壔�祉�鴻�����膊�������IP���192.168.11.5���192.168.11.50��с�夌�<����翫��

  [TL]
  logdir = /home/tl/logs

��㏍�c����激�ャ�勐�ñ�

Cache::Memcached�����ゃ�潟�鴻����若�˨��������memcached��泣�若�������������翫����˨����㏍�c����激�ャ����ñ���櫝�純����ŝ�����

��隙��箴���壩❶��勰�����

INI�����<�ゃ�˨�˨�⓾��memcached�����������⓾�������泣�若��������絎���������� [MemCached] servers = localhost:11211

茯㏍�粋昭��水�岩��鐚������若�後��篏������㏍�c����激�ワ�� #top��壔�㏍�c����激�ャ�������㏍�若����脂�∽����˨�㏍�若��荐㊤����������������若�吾�c�若�ŝ�í����ñ����������翫�������脂�∽����˨�ŝ����鴻��羈����������鐚�page-1膈���˨�����鐚� #��㏍�c����激�ャ�˨����������������翫��������������罸�莠������⓾��304��с�ŝ����ゃ�㋘�壔����������������<�≪�ŝ�����茯㏍�粋昭�����ц;腓冴����� #return������緇����print���flush��ŝ�ï�阪�����������篏���壚���檽�ŝ�����羈����������篋� return if(!defined($TL->printCacheUnlessModified('top'))); #��㏍�c����激�ャ��������������絎h�������������ŝ�����絎h�����printCacheUnlessModified������緇���с�������違����í�勖����鴻�ц����c�⓾�������障����ŝ�� $TL->setCache('top');
  #絎������勉�鴻�壔�ŝ��������荐�菴違�������阪�����茵����
  
  $TL->print('test code.');
��吾��莨若�水�岩��鐚������若�後��篏������㏍�c����激�ワ��
  #��吾��莨若�帥��茵���c����翫����������勉����若�帥��茵◐ず�������櫝�醇�с����������㏍�c����激�ャ�������☗����ゃ�����
  #�����ゆ����������������������㏍�c����激�ャ����⓾��������絎鴻��綽�荀���ɾ�堺絵������綽�荀����
  $TL->deleteCache('top');
  $TL->deleteCache('top2');
茯㏍�粋昭��水�岩��鐚���⓾�若�吟�弱��膈�筝���������堺����勖����宴��������莨若����с�������翫��鐚� #��壔����㏍�若����若�帥�勐��緇������壔����㏍�若����堺����勖����宴����ャ����⓾�������◒�����������篏���堺�ャ��鐚�DB膈�������茯㏍�粋昭���TL:Form��壔�í�鴻�˨�祉����������⓾���櫽�� my $cookiedata = $TL->getCookie->get('TLTEST'); $cookiedata->set('<&NAME>' => $name) if(!$cookiedata->exists('name')); $cookiedata->set('<&POINT>' => $point) if(!$cookiedata->exists('point'));
  #top��壔�㏍�c����激�ャ�������㏍�若����堺�������宴��紊���眼����������翫�������㏍�c����激�ユ����宴����壔�ŝ�≪����ŝ�����羂檎����������宴��紊���������ŝ����冴��
  #304��奝��絽悟�≦�鴻�˨�����綽�荀�������������
  #��堺����勖����宴��臀勖����������������勖����宴����祉����������������㏍�若�������勉�障�丞舟���������������
  #�����勌����勖�>散��壔����若�後��篏������㏍�c����激�ャ�������翫��������罕����
  return if(!defined($TL->printCacheUnlessModified('top','off',$cookiedata)));
  #��㏍�c����激�ャ��������������絎h����������������勰�������堺����勖����宴��臀勖����������������勖����宴����祉��������������
  $TL->setCache('top',$cookiedata);

  #絎������勉�鴻�壔�ŝ��������荐�菴違�������阪�����茵����
  #�����勰�������堺����勖����宴�勰�������̹�≪����⓾�壔����号����帥�逸�����絖����鐚���̥舟��������������号����帥�違�壔�í�勉�������ɱ就��с�������障����ŝ��������
  #��阪�����絖����筝㏍�勐����⓾�勐��罕���勛�号����帥�違��紊����絲乗院��˨�ŝ�������������⓾�若�吟�若��膊∞��������篁紙�����紊���翫�堺�ャ�����������羈�������������
  #鐚���帥�違����鴻�宴�若����������������勛�号����帥�違����ュ�������������翫�������í�若�˨�����etc鐚�
  
  $t->expand(
    NAME => '<&NAME>',
    POINT => '<&POINT>',
  );

  
  $TL->print('test code.');
��吾��莨若�水�岩��鐚���⓾�若�吟�弱��膈�筝���������堺����勖����宴��������莨若����с�������翫��鐚�
  #��吾��莨若�帥��茵���c����翫����������勉����若�帥��茵◐ず�������櫝�醇�с����������㏍�c����激�ャ�������☗����ゃ�����
  #�����ゆ����������������������㏍�c����激�ャ����⓾��������絎鴻��綽�荀���ɾ�堺絵������綽�荀����
  #��障�������堺����勖��絖���������阪�������˨�壔����㏍�若�ŝ�í����吾����冴�����������������
  $TL->getCookie->set(TLTEST => $TL->newForm('<&NAME>' => $CGI->get('name'),'<&POINT>' => 1000));

  $TL->deleteCache('top');
  $TL->deleteCache('top2');

絎�茵���≪�若��

絎�茵���≪�若����˨�壩❶��勌����ゃ�����������

CGI��≪�若��

CGI��������⓾����㏍�違�í��������篏������������≪�若����������勉�≪�若����с�� $TL->print ��<�純�������� "��阪�������c�˨��" ��� "��ュ�������c�˨��" �����ñ���櫝�純�˨�ŝ�����

�����勉�≪�若����с�� $TL->startCgi ��<�純�������� "Main��∽��" �����若�吟��

FastCGI��≪�若��

FastCGI��������⓾����㏍�違�í��������篏������������≪�若�����httpd������fcgi��鴻�壔�ŝ�������������☀儀��� ��������������������������ɱ�������̹�吾�違�������������勉�≪�若����с�壔����㏍�祉�鴻�勉�<�≪�ŭ戎��◒����� ��h��������莎桁��緇���˨�����筝�絎���勐ぇ���������莇������⓾�<�≪�ŭ戎��◒�����紜�紊с�������������<�≪�ŝ�ŝ�若� �����榊�������⓾�������������☀�ɱ�������̥��篋������������障����� Ini �����í�<�若�推������� use TL ��������鴻�壔�ŝ����������<�ゃ�˨����������� Ini �����<�ゃ�˨�勖��腟���贋�井���� �����h����������贋�違�������⓾����������ɱ�������̥��篋����������

筝���㋘�鴻�壔�ŝ�������≪�若��

CGI��с�ŝ��筝���㋘�勉�鴻�壔�ŝ�������������⓾����㏍�違�í��������篏������������≪�若����� CGI��≪�若����号����勖����純�壠�ñ����堺�ャ�ŝ�����

�����勉�≪�若����с�� $TL->errorTrap ��<�純�������� "Main��∽��" �����若�吟��

��阪�������c�˨�

$TL->print ��� $template->flush ��у�阪��������������絎鴻�壔�� TL::Filter ��˨����c�☗��綏ャ�������������阪����勐����㏍��HTTP������������ 篁������������勉����阪�������c�˨�帥�с��������

��ュ�������c�˨�

$ENV{QUERY_STRING} �����勌�����CGI��勉�ŝ�壔����鴻�������宴�壔�� TL::InputFilter ���茯㏍�水�������� TL::Form ��ŝ����吾�с�壔��������������������緇������������ŝ�壔����鴻�������宴� $CGI ��ŝ����吾�с�壔����� $TL->CGI ��<�純�������у��緇���堺�ャ�����

Main��∽�

��ŝ�壔����鴻��筝����罸������若�違�������∽�違�������勰�∽�違�勌賢���CGI�����㏍�違�í����壠�ュ�阪�����茵������� "FastCGI��≪�若��" 篁ュ����с�壚��綺⓾�勉����㏍�祉�鴻�勤儀�����т��綺⓾�������若�違����ŝ�����

��������

$TL->setHook ��<�純����������������⓾�������壔�����������篋������堺�ャ�����

init

"startCgi" ������������ "errorTrap" �����若�違�������������� "Main��∽��" ��� ��若�違�����������

preRequest

"Main��∽��" �����若�違�������翫�����

postRequest

"Main��∽��" �����若�違�������翫�����

term

���緇���� "Main��∽��" �����若�違�����緇����term��������壠�弱�冴��緇���� "startCgi" ������������ "errorTrap" ���腟�篋����������

METHODS

INI
  $TL->INI

use TL qw(filename.ini); ��ц˛��粋昭��障����� TL::Ini ���菴�������

CGI
  $TL->CGI
  $CGI

��ŝ�壔����鴻����������������c�� TL::Form ��ŝ����吾�с�壔�����菴������� ��障����������勉�ŝ����吾�с�壔����� startCgi ��<�純�������勐�若�喝�冴�������������宴�若�吾�� export ������������

�����勉�<�純��������undef��с�ŝ����ゃ��菴������勉�壔�� "preRequest" ��������壔����若�違����� ��翫�������� "postRequest" ��������壔����若�違�������翫����障�с�с��������

escapeTag
  $result = $TL->escapeTag($value)

&<>"' ��勖��絖���������鴻�宴�若����☎�����������絖�������菴�������

unescapeTag
  $result = $TL->unescapeTag($value)

&<>"'&#??;&#x??; ��˨����鴻�宴�若����☎��������������絖������������祉��������絖�������菴�������

escapeJs
  $result = $TL->escapeJs($value)

'"\ ��勖��絖���� \ ���篁������⓾����鴻�宴�若�����鐚�'\r' '\n' ��˨�ゃ����� '\\r' '\\n' ��̥舟���������������

unescapeJs
  $result = $TL->unescapeJs($value)

escapeJs ���������絖���������������祉�����

encodeURL
  $result = $TL->encodeURL($value)

���絖�������URL�����潟�潟�若��������腟�������菴�������

decodeURL
  $result = decodeURL($value)

URL�����潟�潟�若�����茹i�ゃ����������祉��������絖�������菴�������

escapeSqlLike
  $result = $TL->escapeSqlLike($value)

% _ \ ��勖��絖���� \ ��с����鴻�宴�若����☎�����������絖�������菴�������

unescapeSqlLike
  $result = $TL->unescapeSqlLike($value)

\% \_ \\ ��˨����鴻�宴�若����☎��������������絖������������祉��������絖�������菴�������

startCgi
  $TL->startCgi(
    -main        => \&Main,    # ��<�ゃ�渇�∽�
    -DB          => 'DB',      # DB���篏帥����翫��鐚�ini��勉�違�˨�若�����������絎�
    -Session => 'Session',     # Session���篏帥����翫�����ini��勉�違�˨�若�����������絎�
  );

CGI���絎�茵���������冴�勛�医�������眼�����筝���с�� "Main��∽��" ���絎�茵���������� "Main��∽��" ���die��������翫����壔�������í�取;腓�HTML�����阪��������������

DB ��壔��罨<�勉�������̹�������吾�勉�ŝ����<�㋘�潟�鴻��羝<��篋���с��茲���井��絎��櫝�純��

  $TL->startCgi(
    -main => \&Main,
    -DB   => ['DB1', 'DB2'],
  );

Session ��壔��罨<�勉�������̹�������吾�勉�ŝ����<�㋘�潟�鴻��羝<��篋���с��茲���井��絎��櫝�純��

  $TL->startCgi(
    -main        => \&Main,
    -DB          => 'DB',
    -Session => ['Session1', 'Session2'],
  );
errorTrap
  $TL->errorTrap(
    -main => \&Main, # ��<�ゃ�渇�∽�
    -DB   => 'DB',   # DB���篏帥����翫��鐚�ini��勉�違�˨�若�����������絎�
  );

��医�������眼����� "Main��∽��" ���絎�茵���������� "Main��∽��" ���die��������翫����壔�������í�弱��絎鴻��罔�羣������í�若�後�阪��������������

"startCgi" ������罕���˨��DB ��˨�奝�������吾�勉�ŝ����<�㋘�潟�鴻��羝<��篋������堺�ャ�����

dispatch
  $result = $TL->dispatch($value, default => $default, onerror => \&Error)

'Do' ��� $value ���膵���������∽�医����勰�∽�違����若�喝�冴����� $value���undef��勐�翫�����default������絎������⓾�������翫�����default��̬┃絎�������������

onerror�����ʃ┃絎���ч�∽�違��絖���������ŝ�������� undef���絖�������������1���菴�������

onerror���荐㊤����������⓾�������翫�������∽�違��絖���������ŝ�������� onerror��ц┃絎������������∽�違����若�喝�冴�����������

  箴�:
  package Foo;
  
  sub main {
      my $what = 'Foo';
      $TL->dispatch($what, default => 'Foo', onerror => \&DoError);
  }
  
  sub DoFoo {
      ...
  }

  sub DoError {
      ...
  }
log
  $TL->log($group => $log)

��㏍�違��荐���蚊����������違�˨�若�������㏍�違����若�帥�卡����ゃ�����������������

setHook
  $TL->setHook($type, $priority, \&func)

���絎���帥�ゃ����勖��絎������í�ゃ�ŝ�ŝ����c�勉�������壔��荐㊤����������� ��≪�����筝���帥�ゃ����у��筝������í�ゃ�ŝ�ŝ����c�勉�������壔��荐㊤����������⓾�������翫����� �𡉴����������壔�勤┃絎���虁В��ゃ�����������

type��壔��"init", "term", "preRequest", "postRequest" ��卡��腮勰�����絖�������������

��ŝ�����1筝���勖�贋�医����勉����í�ゃ�ŝ�ŝ����c�� Tripletail ��������т戎�����������������≪���� ��宴�若�激�с�喝�眼�т����������̥�������������������壔��筝���吾�������⓾����障���櫝�醇�с����������勉� 羈�������������

removeHook
  $TL->removeHook($type, $priority)

���絎���帥�ゃ����勖��絎������í�ゃ�ŝ�ŝ����c�勉�������壔�������ゃ��������

setContentFilter
  $TL->setContentFilter($classname, %option)
  $TL->setContentFilter([$classname, $priority], %option)
  $TL->setContentFilter('TL::Filter::HTML', charset => 'Shift_JIS')
  $TL->setContentFilter(
      'TL::Filter::CSV', charset => 'Shift_JIS', filename => '�����鴻�������若��.csv')

"��阪�������c�˨��" ���荐㊤����������� �����⓾�勐�阪����勐�����絎�茵�������綽�荀������������� 鐚���ɾ�勉�勖�後����с�壔�������í�ゃ�ŝ�ŝ����c�����絎������☎�㋝�ŝ�勉�潟�潟����潟�������c�˨�帥��菴遵����с�������� �����ユ����壠�ɱ��綺⓾��1000�����ŝ��������筝���ɱ��綺⓾�勉����c�˨�帥����≪�˨�祉�������������⓾�������������壔�� 篁ュ����勉����c�˨�粋┃絎���虁В��ゃ�����������

菴������������ゃ�壔�����絎���������� TL::Filter ��勉�泣����壔�í�鴻�勉�ゃ�潟�鴻�帥�潟�鴻�с��������

荐㊤�������������c�˨�帥�壔��"preRequest" ��勉�帥�ゃ����潟�違�т��絖���������� "postRequest" ��勉�帥�ゃ����潟�違�у�������祉�����������緇���c�⓾��"Main��∽��"��� ��� setContentFilter ���絎�茵���������翫����������勐����眼�壩❶�����ŝ�壔����鴻�������������∴�� ��������ŝ�����

getContentFilter
  $TL->getContentFilter($priority)

���絎���������������í�ゃ�ŝ�ŝ����c�勉����c�˨�帥�����緇���������������ユ�����1000�����ŝ�����

removeContentFilter
  $TL->removeContentFilter($priority)

���絎���������������í�ゃ�ŝ�ŝ����c�勉����c�˨�帥�������ゃ�������������ユ�����1000�����ŝ����� �����c�˨�帥��鐚���ゃ����ŝ����翫����壔����翫�順�������í�若����ŝ����阪����∽�違�壚戎�����с����ŝ����ŝ�����

setInputFilter
  $TL->setInputFilter($classname, %option)
  $TL->setInputFilter([$classname, $priority], %option)

"��ュ�������c�˨��" ���荐㊤����������� "startCgi" ��勐�����絎�茵�������綽�荀�������������

菴������������ゃ�壔�����絎���������� TL::InputFilter ��勉�泣����壔�í�鴻�勉�ゃ�潟�鴻�帥�潟�鴻�с��������

getInputFilter
  $TL->getInputFilter($priority)
removeInputFilter
  $TL->removeInputFilter($priority)
sendError
  $TL->sendError(-title => "��帥�ゃ�����", -error => "�����í��")

ini ��ф��絎������������≪����㋘�鴻�˨����í�若�<�若�˨����������� 荐㊤�������<����翫����壚����������ŝ�����

print
  $TL->print($str)

��潟�潟����潟�������若�帥����阪�����������"startCgi" ��������若�違����� "Main��∽��" ��� ��勉�帥�т戎�����с�������������������壠�阪����с����ŝ�����

�����c�˨�帥�˨����c�⓾�壔����������<�ŝ�潟�違����������翫����������������� ��堺�㋜����˨�壔����������<�ŝ�潟�違�������ŝ�����

location
  $TL->location('http://example.org/')

CGI��≪�若����勖��������絎����������URL��吾�ŝ����ゃ�㋘�壔����������� �����勉�<�純�������壔�������������阪����勐�������若�違�ŝ����⓾�壔�ŝ����ŝ�����

parsePeriod
  $TL->parsePeriod('10hour 30min')

���������絎����絖�������腱���違��紊������������� "綺☁�頫�" ��������с��

parseQuantity
  $TL->parseQuantity('100mi 50ki')

������絎����絖������������勖�違��紊������������� "綺☁�頫�" ��������с��

getCookie

TL::Cookie ��ŝ����吾�с�壔��������緇����

getCsv

TL::CSV ��ŝ����吾�с�壔��������緇����

newDateTime

TL::DateTime ��ŝ����吾�с�壔�����篏�������

getDB
  $DB = $TL->getDB($group)

TL::DB ��ŝ����吾�с�壔��������緇����

newDB
  $DB = $TL->newDB($group)

TL::DB ��ŝ����吾�с�壔�����篏�������

getFileSentinel

TL::FileSentinel ��ŝ����吾�с�壔��������緇����

newForm

TL::Form ��ŝ����吾�с�壔�����篏�������

newHtmlFilter

TL::HtmlFilter ��ŝ����吾�с�壔�����篏�������

newHtmlMail

TL::HtmlMail ��ŝ����吾�с�壔�����篏�������

newIni

TL::Ini ��ŝ����吾�с�壔�����篏�������

newMail

TL::Mail ��ŝ����吾�с�壔�����篏�������

getMemorySentinel

TL::MemorySentinel ��ŝ����吾�с�壔��������緇����

newPager

TL::Pager ��ŝ����吾�с�壔�����篏�������

getRawCookie

TL::RawCookie ��ŝ����吾�с�壔��������緇����

newSendmail

TL::Sendmail ��ŝ����吾�с�壔�����篏�������

newSMIME

TL::SMIME ��ŝ����吾�с�壔�����篏�������

newTagCheck

TL::TagCheck ��ŝ����吾�с�壔�����篏�������

newTemplate

TL::Template ��ŝ����吾�с�壔�����篏�������

getSession

TL::Session ��ŝ����吾�с�壔��������緇����

newValue

TL::Value ��ŝ����吾�с�壔�����篏�������

newValidator

TL::Validator ��ŝ����吾�с�壔��������������

newMemCached

TL::MemCached ��ŝ����吾�с�壔��������������

charconv
  $str = $TL->charconv($str, $from, $to, $prefer_encode);
  $str = $TL->charconv($str, [$from1, $from2, ...], $to, $prefer_encode);
  
  $str = $TL->charconv($str, 'auto' => 'UTF-8');
  $str = $TL->charconv($str, ['EUC-JP', 'Shift_JIS'] => 'UTF-8');

���絖���潟�若��紊�������茵������� Encode �����ñ���櫝�純��筝���� $prefer_encode ��� �����с�������翫����壔�� Encode �����������������������������с�ŝ����翫���� Unicode::Japanese ���������������������

Encode 篏睡��������紊����������絖���潟�若����� 'auto' ������絎������������� Unicode::Japanese ��� getcode() �����������ɱ�����篏���ф��絖���潟�若�������ɱ����ゅ�ャ����������障����������潟�潟�若�������勐��茖���� ��������ф��絎����������������絎������������ɱ�����篏���ц�ɱ����ゅ�ャ��������

Unicode::Japanese 篏睡�������̹�������у��茖�������絎���������翫����壔�������勰����������∴����������� 'auto' ������絎���������������勉�◑�����������������

$from ��������ャ����������翫����� 'auto' ��˨�� $to ��������ャ����������翫����� 'UTF-8' ��˨�ŝ�����

腆阪��������絎���с��������絖���潟�若����壔��UTF-8鐚�Shift_JIS鐚�EUC-JP鐚�ISO-2022-JP ��с�������� ������篁ュ����勐�翫����壔��Encode ��� Unicode::Japanese ��勉�í�<�����篏睡����������������˨�����篏睡����с����������勉����違�ŝ�����

readFile
  $data = $TL->readFile($fpath);

�����<�ゃ�˨��茯㏍�粋昭���������絖���潟�若��紊������������ŝ����� �����<�ゃ�˨�㏍����壠�☎����虁�������ŝ����勉�с��篏睡����勰����˨�壩絵������綽�荀����

readTextFile
  $data = $TL->readTextFile($fpath, $coding, $prefer_encode);

�����<�ゃ�˨��茯㏍�粋昭��帥��UTF-8���紊������������� �����<�ゃ�˨�㏍����壠�☎����虁�������ŝ����勉�с��篏睡����勰����˨�壩絵������綽�荀����

$coding ��������ャ����������翫����� 'auto' �����ŝ�����$prefer_encode ������ ��˨�������� Encode �����ñ���櫝�純�ɱ�翫����� Encode ��у��������������

writeFile
  $TL->writeFile($fpath, $fdata, $fmode);

�����<�ゃ�˨�˨����若�帥����吾��莨若��������絖���潟�若��紊������������ŝ����� �����<�ゃ�˨�㏍����壠�☎����虁�������ŝ����勉�с��篏睡����勰����˨�壩絵������綽�荀����

$fmode ���0��ŝ����違��筝���吾����≪�若����� $fmode ���1��ŝ����違��菴遵����≪�若�����

�����ャ����������翫����壚����吾����≪�若�������ŝ�����

writeTextFile
  $TL->writeTextFile($fpath, $fdata, $fmode, $coding, $prefer_encode);

�����<�ゃ�˨�˨����若�帥����吾��莨若�����$fdata ���UTF-8��◑����ŝ��������絎�������������絖���潟�若����後��������茵������� �����<�ゃ�˨�㏍����壠�☎����虁�������ŝ����勉�с��篏睡����勰����˨�壩絵������綽�荀����

$fmode ���0��ŝ����違��筝���吾����≪�若����� $fmode ���1��ŝ����違��菴遵����≪�若�����

�����ャ����������翫����壚����吾����≪�若�������ŝ�����

$coding ��������ャ����������翫�����utf8��������〠�宴�����$prefer_encode ��������˨����� ��� Encode �����ñ���櫝�純�ɱ�翫����� Encode ��у��������������

watch
  $TL->watch(sdata => \$sdata, $reclevel);
  $TL->watch(adata => \@adata, $reclevel);
  $TL->watch(hdata => \%hdata, $reclevel);

���絎���������鴻�˨�í�若�������������������激�ャ����若�帥�勖�贋�違����⓾�í�������������㏍�違����阪����������� 膃�1綣���違�у����医��������膃�2綣���違�у嚳莟≦����違�吾�勉�ŝ����<�㋘�潟�鴻��羝<�����

膃�2綣���違�壔�⓾�í�����絲乗院��勐����違�˨����ŝ����<�㋘�潟�鴻��羝<����������翫����˨�� �����勉�ŝ����<�㋘�潟�鴻�勐�����篏�罧級����⓾�í��������������������絎������������������í�˨�����0���

��鴻�˨�í�若�������������������激�ヤ札紊���勉�ŝ����<�㋘�潟�鴻��篁e�ャ����������翫����壔����í�若����ŝ�����

��障��������絽亥����˨�⓾�í�������������翫�����紊���医����虁Κ��勐����医�������ñ�������☀�ɱ�������̬┃絎�������������

dump
  $TL->dump(DATA => \$data);
  $TL->dump(DATA => \$data, $level);

膃�2綣���違��紊���違�吾�勉�ŝ����<�㋘�潟�鴻��羝<����Ǎ�������勐��絎鴻�� Data::Dumper ��с����潟�������� 膃�1綣���違�勉�違�˨�若�������� $TL->log �����若�喝�冴�����

膃�3綣���違�с����ŝ����<�㋘�潟�鴻����í�勉����������勖訓�����障�ц申������������絎������������������堺�ャ����� ���絎������ŝ�������医����☀;腓冴�����������

printCacheUnlessModified
  $bool = $TL->printCacheUnlessModified($key, $flag, $param, $charset)

膃�1綣���違�у�蚊��綵���⓾����������㏍�若����<�≪�ŭ����˨�㏍�c����激�ャ�������⓾�����������茯帥�鴻����� ��ñ����������˨�壔��memcached ���綽���������ŝ�����

膃�2綣���違��on��勐�翫�����304���菴�������篏����茵�������off��勐�翫�����304���菴�������篏����茵������ŝ����������ュ櫝�純��

��������í�˨�����on���

膃�3綣���違�с�壔��TL::Form ��壔�í�鴻�勉�ゃ�潟�鴻�帥�潟�鴻�����絎���������� Form��壔�í�鴻�勉�㏍�若����阪�����絖����筝㏍��絖���������⓾�������翫�������ゃ�̥舟�����������������ュ櫝�純��

膃�4綣���違�с�壔��膃�3綣���違�ф��絎����������絖�������UTF-8������紊���������������勖��絖���潟�若��������絎���������� �����ュ櫝�純��

篏睡���櫝�純�ŝ�潟�若����壩❶��勰�������� UTF-8鐚�Shift_JIS鐚�EUC-JP鐚�ISO-2022-JP

��������í�˨�����Shift_JIS���

膃�2綣���違��on��勐�翫����с��膃�3綣���違�������ャ����������翫�����篁ヤ����勐��篏����茵�������

1.memcached��������㏍�若����蚊��綵���⓾����������㏍�c����激�ャ����若�帥��茯㏍�粋昭������ �����若�帥����<�������違��1���菴�������

2.��㏍�c����激�ャ����若�帥�勌��絖���������������������������≪�壔�祉�鴻�����������������罸�莠������� ��㏍�c����激�ャ����若�帥����違����������違�㏍�c����激�ャ����若�帥����阪��������undef���菴�������

3.��≪�壔�祉�鴻�������������������違����������違��304��鴻����若�帥�鴻����阪��������undef���菴�������

�����勰�∽�違�����undef���菴������������翫�����篁ュ����阪�����茵�������篏����茵���c�⓾�壔�ŝ����ŝ�����

setCache
  $TL->setCache($key, $param, $charset, $priority)

膃�1綣���違�у�蚊��綵���⓾����������㏍�若��絲障����☗�阪��������������絎鴻����<�≪�ŭ����˨�㏍�c����激�ャ�������� ��障�����Last-Modified��������������阪����������� printCacheUnlessModified������緇���у��茵�������綽�荀������������� ��ñ����������˨�壔��memcached ���綽���������ŝ�����

膃�2綣���違�с�壔��TL::Form ��壔�í�鴻�勉�ゃ�潟�鴻�帥�潟�鴻�����絎���������� Form��壔�í�鴻�勉�㏍�若����阪�����絖����筝㏍��絖���������⓾�������翫�������ゃ�̥舟�����������������ュ櫝�純��

膃�3綣���違�с�壔��膃�2綣���違�ф��絎����������絖�������UTF-8������紊���������������勖��絖���潟�若��������絎���������� �����ュ櫝�純��

篏睡���櫝�純�ŝ�潟�若����壩❶��勰�������� UTF-8鐚�Shift_JIS鐚�EUC-JP鐚�ISO-2022-JP

��������í�˨�����Shift_JIS���

膃�4綣���違�˨�壔��TL::Filter::MemCached��吾�勐�ɱ��綺⓾��荐�菴違�������������ュ櫝�純�� ��������í�˨�����1500���

TL::Filter::MemCached��壠��������緇����絎�茵�������綽�荀���с����������������� 1500篁ヤ����勐�ɱ��綺⓾�ц┃絎������������c�˨�帥��篁���˨�������翫����壩�������ц┃絎�������綽�荀�������������

deleteCache
  $TL->deleteCache($key)

膃�1綣���違�у�蚊��綵���⓾����������㏍�若�勉�㏍�c����激�ャ�������ゃ�������� ��ñ����������˨�壔��memcached ���綽���������ŝ�����

��ŝ�����setCache��勐�����deleteCache���絎�茵������⓾�����setCache��с�勉�<�≪�ŝ�吾�勖�吾��莨若�帥�壔�� ��☎����勖��緇���̬�������������勉�с��deleteCache��壠�������������ŝ�����

��㋞�∽�違�勌戎�����鴻�������⓾�壔����㏍�c����激�ャ�勐��絎鴻����˨����с����������若�帥����贋�違�������翫���� 荅峨����������㏍�c����激�ャ�������ゃ�������������˩戎������������ ��������˨��������罨≦����≪�壔�祉�号����������違�勖����宴����阪��������������

getDebug
newError

�����◐����<�純��������

Ini �����í�<�若�

��違�˨�若�������壠幻��� TL ��с�ŝ�������違�ŝ����ŝ�����

箴�:

  [TL]
  logdir = /home/www/cgilog/
  errortemplate = /home/www/error.html
maxrequestsize
  maxrequestsize = 16M 500K

���紊с�ŝ�壔����鴻����泣�ゃ�冴��篏���������<�ゃ�˨�≪�������㏍�若����勐�������ゃ�������������í�˨�����8M���

maxfilesize
  maxfilesize = 100M

筝�������POST��с�≪�������㏍�若���櫝�純�ŝ����<�ゃ�˨�泣�ゃ�冴�勐��荐������������í�˨�����8M�������� ��ゃ�˨�勉�泣�ゃ�冴�� maxrequestsize �����壠�ャ�˨�˨�⓾�潟����������������<�ゃ�˨�с�ŝ������� ��˨�ゃ����⓾�� maxrequestsize ��勐�ゃ��篏帥�����������

logdir
  logdir = /home/www/cgilog/

��㏍�違�勐�阪�������c�㋘�壔����ŝ��

tempdir
  tempdir = /tmp

筝���������<�ゃ�˨��臀勉�������c�㋘�壔����ŝ�������勉����í�<�若�帥�勖��絎������<����������≪�������㏍� �����������������<�ゃ�˨�壠����⓾�<�≪�ŭ����̥舟������������������絎���������c����翫����壩��絎������� ��������c�㋘�壔����ŝ�˩����������<�ゃ�˨�������☎舟������������筝���������<�ゃ�˨��篏���������˨�壔�� �����<�ゃ�˨�� open ��������翫����� unlink ��������冴����≪����ŝ�宴�若�激�с�喝�眼�с����<�ゃ� �����潟����˨�������������������㏍�祉�鴻��腟�篋����������������������篏����������筝���������<�ゃ�˨�夌� ��<�̬�ɱ����у����ゃ�����������

errormail
  errormail = null@example.org%Sendmail

sendError�����������í�主�榊�������˨�<�若�˨�����������������絎���������� ��≪�˨�⓾�潟�����@�����<�ゃ�喝��%inigroup�����勐就綣���ф��絎���������� inigroup��˨�� TL::Sendmail ��壔�í�鴻�т戎���������inigroup������絎���������� inigroup��������ャ����������� 'Sendmail' ���篏帥�����������

errormailtype
  errormailtype = error file-update memory-leak

��í�勉�������ŭ��莟<����榊�������������� errormail ��ф��絎���������������˨�<�若�˨�������������� 篁ヤ����勰����勉����鴻����若�劫�阪�������т算�����勖�違��������絎���������� ��������í�˨����� 'error memory-leak' ��с��������

error

�����í�若����榊�������������˨�<�若�˨����������� ��<�若�˨�勐��絎鴻�˨�壔�鴻�帥����壔����㋘�若�合�������˨�障��������

file-update

TL::FileSentinel �����h��絲乗院��勉����<�ゃ�˨�勖�贋�違��罎���冴����������˨�<�若�˨����������� ��<�若�˨�勐��絎鴻�˨�壩�贋�違�������������<�ゃ�˨�������勖�贋�井����祉����˨�障��������

memory-leak

TL::MemorySentinel �����<�≪�ŝ�ŝ�若�壔�勐櫝�醇�с��罎���冴����������˨�<�若�˨����������� ��<�若�˨�勐��絎鴻�˨�壔�<�≪�ŝ�勌戎��◐�倶�������˨�障��������

errorlog
  errorlog = 1

�����í�主�榊�������˨�㏍�違�������宴��罧���������í�����������絎���������� 1 ������絎������������違����í�惹����宴��罧������� 2 ������絎������������違�������í�惹����宴�����������CGI��勉�ŝ�壔����鴻�����絎鴻��罧����鐚�startCgi�����с�勉����í�若�勉�随����� 3 ������絎������������違����㏍�若�˨��紊���医��絎鴻����˨�����荅括完��ŝ����í�惹����宴����������ㇱ��篏���� PadWalker ���綽�荀�鐚����CGI��勉�ŝ�壔����鴻�����絎鴻��罧������� 0 ��с�������井����宴��罧������ŝ����� ��������í�˨����� 1���

memorylog
  memorylog = full

��ŝ�壔����鴻��罸���˨�<�≪�ʋ��莢紫�倶�������㏍�違��罧���������í�����������絎���������� 'leak', 'full' ��勉�í�<�������������吾�吟�� 'leak' ��勐�翫����壔����<�≪�ŝ�ŝ�若�壔��罎���冴����������翫����勉�帥�㏍�違��罧������� 'full' ��勐�翫����壔����<�≪�ŝ�ŝ�若�壔�勖����冴����夌�♂�≫����˨����ŝ�壔����鴻��罸���˨�㏍�違��罧������� ��������í�˨����� 'leak'���

trap
  trap = die

�����í�弱�☎����勛┏蕁����'none', 'die'鐚�'diewithprint' ��������吾�吟����������í�˨�����'die'���

none

�����í�若����í��������筝���������ŝ�����

die

"Main��∽��" ���die��������翫����˨����í�取;腓冴��������篁ュ����勐�贋����с�壔����í����������ŝ�����warn��虁�����������

diewithprint

"Main��∽��" ���die��������翫����˨����í�取;腓冴��"Main��∽��" 篁ュ�����die��������翫����壔����������������宴�˨����í�弱��絎鴻�������㏍�鴻����ц;腓冴��������warn��虁�����������

stacktrace
  stacktrace = full

�����í�主�榊�������̬;腓冴�������鴻�帥����壔����㋘�若�鴻�勛┏蕁����'none' ��勐�翫����壔����鴻�帥���� �����㋘�若�鴻��筝����茵◐ず�����ŝ�����'onlystack' ��勐�翫����壔����鴻�帥����壔����㋘�若�鴻�勉�帥�� 茵◐ず���������'full' ��勐�翫����壔����鴻�帥����壔����㋘�若�鴻����������⓾�純�若�鴻�潟�若����㋙��筝⓾� �����������㋘�若�������若�������㏍�若�˨��紊���違�勌��荀с�����茵◐ず�����������������í�˨���� 'onlystack'���

篏������㏍�若�˨��紊���遺��荀с��茵◐ず��������˨�� PadWalker �����ゃ�潟�鴻����若�˨�������⓾�� ��ŝ�������違�ŝ����ŝ�����

羈����: 'full' ��勛�倶����с�壔��stackallow ��ц┗��������������⓾�勉�⓾�若�吟�若����� �����í�⓾�吟����������⓾�勉�純�若�鴻�潟�若�������� ini �����<�ゃ�˨�勌賢荳˨��茯㏍��篋������堺�ャ����鴻��羈�������������������

stackallow
  stackallow = 192.168.0.0/24

stacktrace ��勐�ゃ�� 'none' ��с�ŝ����翫����с����c�⓾�����stackallow ��ф��絎���������� ��������������鴻�壔�̬»綵������ŝ�� IP ��������勖・膓���с�������翫����˨�壔����鴻�帥����壔����㋘�若� ���茵◐ず�����ŝ����������鴻�壔�夌Ã��純�у�阪����c�☀����医�����絎�������篋�����櫝�純�� ��������í�˨����壠����☎��罩≪��

maxrequestcount
  maxrequestcount = 100

FastCGI��≪�若�������˨��1��ゃ�勉����㏍�祉�鴻�т�������障�у�☎�����茵����������荐㊤����������� 0���荐㊤����������医����違�˨����c�⓾����㏍�祉�鴻��腟�篋���������������壔�ŝ����� ��������í�˨�����0���

errortemplate
  errortemplate = /home/www/error.html

�����í�主�榊�������˨�����絽吾�勉����í�取;腓冴�с�壔�ŝ��������絎���������� �����潟����㋘�若�������<�ゃ�˨��茵◐ず���������

outputbuffering
  outputbuffering = 0

startCgi ��<�純�����筝㏍�у�阪����������������<�ŝ�潟�違����������������í�˨�����0���

�����������<�ŝ�潟�違����ŝ����翫�����print ���������絎鴻�壔�������̬;腓冴��������������絨������с��茵◐ず���茵���c��緇���˨����í�若����榊����������翫����壔�������í�若����潟����㋘�若�����膓咲����̬;腓冴�������ŝ�����

�����������<�ŝ�潟�違��茵���c����翫�����print ���������絎鴻�壔�ŝ�壔����鴻��腟�篋������障�ц;腓冴�������ŝ����������☎��筝㏍�˨����í�若����榊����������翫�������阪�����絎鴻�夌�贋��������鐚������í�若����潟����㋘�若����勐��絎鴻��綏勉����帥��������������

綺☁�頫

���������絎�

���腮勉�帥�ゃ����≪�⓾��������鐚���祉����激�с�潟��expires��ŝ�í�� ��������������壚札筝���勖��絎�����櫝�純�����������

���篏���壠ぇ���絖�絨����絖������阪�ャ����ŝ�����

��医�ゃ�勉�

腱���違�с�勖��絎����茵�������

��医�わ�� 'sec' or 'second' or 'seconds'

腱���с�勖��絎����茵�������[��1]

��医�わ�� 'min' or 'minute' or 'minutes'

�����с�勖��絎����茵�������[��60]

��医�わ�� 'hour' or 'hours'

��������с�勖��絎����茵�������[��3600]

��医�わ�� 'day' or 'days'

��ユ�違�с�勖��絎����茵�������[��24*3600]

��医�わ�� 'mon' or 'month' or 'months'

�����с�勖��絎����茵�������鐚����鐚�30��ャ�������☀��膊���������� [��30*24*3600]

������絎�

��<�≪�ŝ�泣�ゃ�冴�����絖������泣�ゃ�榊�����紊с�����������絎���������翫����˨�壔�� 篁ヤ����勖��絎�����櫝�純�������������怨����勐ぇ���絖�絨����絖���壠��筝�荀����������

10��我�亥鎧

��医�ゃ�勉�

�����勉�障�障�勖�違��茵�������

��医�わ�� 'k'

��医�っ�1000��勖��絎����茵�������[��1,000]

��医�わ�� 'm'

��医�っ�1000^2��勖��絎����茵�������[��1,000,000=��1,000^2]

��医�わ�� 'g'

��医�っ�1000^3��勖��絎����茵�������[��1,000,000,000=��1,000^3]

��医�わ�� 't'

��医�っ�1000^4��勖��絎����茵�������[��1,000,000,000,000=��1,000^4]

��医�わ�� 'p'

��医�っ�1000^5��勖��絎����茵�������[��1,000,000,000,000,000=��1,000^5]

��医�わ�� 'e'

��医�っ�1000^6��勖��絎����茵�������[��1,000,000,000,000,000,000=��1,000^6]

2��我�亥鎧

��医�わ�� 'Ki'

��医�っ�1024��勖��絎����茵�������[��1024=2^10]

��医�わ�� 'Mi'

��医�っ�1024^2��勖��絎����茵�������[��1024^2=2^20]

��医�わ�� 'Gi'

��医�っ�1024^3��勖��絎����茵�������[��1024^3=2^30]

��医�わ�� 'Ti'

��医�っ�1024^4��勖��絎����茵�������[��1024^4=2^40]

��医�わ�� 'Pi'

��医�っ�1024^5��勖��絎����茵�������[��1024^5=2^50]

��医�わ�� 'Ei'

��医�っ�1024^6��勖��絎����茵�������[��1024^6=2^60]

SEE ALSO

TL::Cookie
TL::DB
TL::Debug

CGI�����������������井����純��

��ŝ�壔����鴻�����綽�膈���勉�㏍�域����蚊�������������井����宴�勉����������≪�����茵◐ず���篁����

TL::Filter
TL::FileSentinel
TL::Form
TL::HtmlFilter
TL::HtmlMail
TL::Ini
TL::InputFilter
TL::Mail
TL::MemorySentinel
TL::Pager
TL::RawCookie
TL::Sendmail
TL::SMIME
TL::TagCheck
TL::Template
TL::Session
TL::Value
TL::Validator

AUTHOR INFORMATION

    Copyright 2006 YMIRLINK Inc. All Rights Reserved.

    This framework is free software; you can redistribute it and/or modify it under the same terms as Perl itself

    �����勉����㋘�若����壔�若�壔�壔����ŝ�若�純�������⓾�с�≪�с����������ŝ����� Perl �����������í�ゃ�祉�潟�鴻�� �����у�����絽������喝����眼��茵���������������堺�ャ�障�����

    Address bug reports and comments to: tl@tripletail.jp

    HP : http://tripletail.jp/