前回のエントリに続き、こんどはフラグを取る話でも。。。 フラグ付き状態で、出力すると Wide character ほげほげ… と叱られます。というわけで、さっそくフラグを取ります。 encode()で取る(バイトコードに変換する)。 #!usr/bin/perl use strict; use warnings; use utf8; use Encode; my $str = "あいう"; #utf-8フラグ付き print encode('utf-8', $str), "\n"; #utf-8フラグを取って出力 binmodeで取る(バイトコードに変換する)。 #!usr/bin/perl use strict; use warnings; use utf8; binmode STDOUT, ':utf8'; my $str = "あいう"; print "$str\n"; とってもコ
NAME Template::Manual::Directives - Template directives Accessing and Updating Template Variables GET The GET directive retrieves and outputs the value of the named variable. [% GET foo %] The GET keyword is optional. A variable can be specified in a directive tag by itself. [% foo %] The variable can have an unlimited number of elements, each separated by a dot. Each element can have arguments sp
NAME Template::Manual::VMethods - Virtual Methods Scalar Virtual Methods chunk(size) Splits the value into a list of chunks of a certain size. [% ccard_no = "1234567824683579"; ccard_no.chunk(4).join %] Output: 1234 5678 2468 3579 If the size is specified as a negative number then the text will be chunked from right-to-left. This gives the correct grouping for numbers, for example. [% number = 123
before header.ttに <html> 〜〜〜〜〜〜〜〜 </htmlとか書いて、全ttに [%- WRAPPER header.tt -%]とかいちいち書く after wrapper.ttを作成、 [%- app_name = 'アプリの名前' -%] [%- IF template.name.match('^/admin') %] [% base_title = 'uriが/adminから始まるのでここは管理画面的です' %] [%- INCLUDE admin/default/header.tt %] [%- ELSE %] [% base_title = 'ユーザ画面です' %] [%- INCLUDE header.tt %] [%- END %]header.ttには [% content -%]と書いて、各ttでは何も書かずに済むようになった。この[% conte
データの表示時のページングは、頭痛いですよね、自分で実装すると。。 というわけで、やっぱりこういうときは、cpan 様様 。 Data::Page 結果集合に対するページング支援。 とてもシンプル。 簡単なページングならこれで間に合うかな、と思ったけど、 書き方次第では結構色々できそう。 TT+DBIx::Class の合わせ技が素敵DBIx::Classのページング処理 Data::Pageset Data::Page の強力版といったところか。 ここのがわかりやすそうData:Pageset使ってページングをスマートに TTとか使わない場合はこっちのがいいのかな? TT使ってるので、TT+Data::Page で実装。 とりあえず適当に書いてみたけど、なんかいまいちだなぁ。 なんかうまくできないもんですかね。。 CGI部分 #!/usr/bin/perl use Data::Page;
前回のエントリーをネタにもうひとねた。 タイトルの件ってどういうこと?? ってことをあらためて確認。 ファイル名:test.pl(文字コード:utf8) #!usr/bin/perl use strict; use warnings; use utf8; use Template; my $tt = Template->new(); my %hash = ( param => 'あいう', #utf8フラグ付き ); $tt->process('index.tt', \%hash); ファイル名:index.tt(文字コード:utf8) <html> <head></head> <body>出力:[% GET param %]</body> </html> これを実行すると… utf8フラグ付きデータを出力したよ!と叱られます。 ついでに文字ばけらった。なんてことになります。 ここでのミス
現在、DBIx::ClassとTemplate Toolkitを勉強しているところですが、ページングの処理が驚くほど簡単に書けるので自分用のメモを残しておきます。 CGI側でresultsetオブジェクトに対しpager()をコールすることで、Data::Pageオブジェクトを取得できます。 my $q = CGI->new; my $schema = App::Schema->connect; my $iterator = $schema->resultset('Comment')->search({}, {rows => 5}); # 1ページ辺りの行数は5 my $page = $q->param('page') || 1; my $rs = $it->page($page); # 1ページ目のresultsetオブジェクトを取得 print $q->header('text/htm
2023-11-03 Windows/エクスプローラー/レジストリでアプリケーションの関連付けをする 2023-10-30 Windows/WSL/環境構築/ディストリビューションのアンインストール MySQL/環境設定/Debian 10にMySQL8をインストール 2023-10-26 Vim/環境設定/インストール/WindowsにZIPファイルでインストール Windows-アプリケーション/Mery/インストール Windows/WSL/ファイルシステム/WSL2のディスクスペースを開放する Git/設定/TortoiseGit Git/設定/TortoiseGit/libgit2でnot owned by current userなエラーが出る 2023-10-23 Windows-アプリケーション/Mery 2023-10-10 ウェブ開発全般/CodeSandbox/概要
NAME Template::Plugin::FillInForm - TT plugin for HTML::FillInForm SYNOPSIS use Template; use Apache; use Apache::Request; my $apr = Apache::Request->new(Apache->request); # or CGI.pm will do my $template = Template->new( ... ); $template->process($filename, { apr => $apr }); # in your template [% USE FillInForm %] [% FILTER fillinform fobject => apr %] <!-- this form becomes sticky --> <form acti
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く