[プログラム]の検索結果


C言語やC++なら2次元配列といっても配列の階層を増やすだけなので、わりと簡単に理解できるのですが、 Perlはそこでリファレンスという、いまいちわかりにくいものが出てくるのでちょっと面倒です。

とはいっても、2次元配列程度ならそんなに複雑なコードになるというわけでもありません。

以下は、numdata.txtというコンマで区切られたテキストファイルのデータを、2次元配列に格納してからレコードごとに標準出力に出力するPerlのサンプルプログラムです。

--- numdata.txt ---

1,2,3,4
11,12,13,14
21,22,23,24
31,32,33,34
41,42,43,44

--- sample.pl ---

#!/usr/bin/perl
use strict;
use warnings;

#use Data::Dumper;

my @list;
open my $infh, '<', "numdata.txt";
while (my $rec = <$infh>) {
    chomp $rec;
    if ($rec ne '') {
        push @list, [split(/,/, $rec)];
    }
}
close $infh;

#print Dumper(@list);

foreach my $item (@list) {
#    print Dumper($item);
    my ($a, $b, $c, $d) = @{$item};
    print "$a, $b, $c, $d\n";
}
[2235] Posted by kagahiro at 2010/08/19 20:08:36
0 point | Link (1) | Trackback (0) | Comment (0)

SQLインジェクション(SQL Injection)とは、Webアプリケーション開発者の意図しない悪意のあるSQL文やその一部を入力して、不正にデータベースを操作することを目的とした攻撃のことで、多くの場合データベースを不正に書き換えてコンテンツを改ざんし、ウェブ閲覧者にマルウエアの侵入を試みるプログラム (スクリプト)を実行させようとする。

SQLインジェクションの対策としては、入力値には半角英数字のみを許可するよう制限する方法や、SQLで使える特殊文字をエスケープして対処するという方法が一般的。

SQL インジェクション攻撃とその対策
今夜分かるSQLインジェクション対策

[2234] Posted by kagahiro at 2010/08/19 16:39:49
0 point | Link (1) | Trackback (0) | Comment (0)

<TMPL_LOOP>タグはセクションを区切り、名前をつけることができます。この名前つきループの内側に<TMPL_VAR>タグを置き、プログラムでパラメータに代入するハッシュ・リファレンスの param() にリスト(配列リファレンス)を渡すと、リスト分の出力が繰り返されます。

以下は、<TMPL_LOOP>タグの使い方を示すサンプルプログラムです。サンプルプログラムでは、コンマで区切られたデータファイルを読み込んでリストを作成し、それをパラメータに渡してテーブルを表示しています。また、<TMPL_IF>タグ、<TMPL_ELSE>タグを使用してデータがない場合は、テーブルが出力されないようにしています。


--- データファイル(userdata.txt)

kagahiro,kitaakita,kagahiro3@59log.com,011678901
admin,tokyo,webmaster10@59log.com,011778901
buzei,kawasaki,support2@59bbs.org,041758901

--- テンプレートファイル(tmplloop.tmpl)

<html>
<head>
<title>HTML::Templateのサンプルプログラム LOOP</title>
</head>
<body>
<h1>HTML::Templateのサンプルプログラム LOOP</h1>
<TMPL_IF NAME=DATA_NUM>
    <table>
    <tr>
    <td>User Name</td>
    <td>Address</td>
    <td>Email</td>
    <td>Tel</td>
    </tr>
    <TMPL_LOOP NAME=USER_INFO>
    <tr>
    <td><TMPL_VAR NAME=USERNAME></td>
    <td><TMPL_VAR NAME=ADDRESS></td>
    <td><TMPL_VAR NAME=EMAIL></td>
    <td><TMPL_VAR NAME=TEL></td>
    </tr>
    </TMPL_LOOP>
    </table>
<TMPL_ELSE>
    No data
</TMPL_IF>
</body>
</html>

--- CGI(tmplloop.cgi)

#!/usr/bin/perl

use strict;
use warnings;

use HTML::Template;

my $template = HTML::Template->new(filename => 'tmplloop.tmpl');

my @loop_data = ();
open my $infh, '<', "userdata.txt";
while (my $rec = <$infh>) {
    chomp $rec;
    if ($rec ne '') {
        my %row_data;
        my ($username, $address, $email, $tel) = split(/,/, $rec);
        $row_data{USERNAME} = $username;
        $row_data{ADDRESS} = $address;
        $row_data{EMAIL} = $email;
        $row_data{TEL} = $tel;
        push @loop_data, \%row_data;
    }
}
close $infh;

$template->param(USER_INFO => \@loop_data);
$template->param(DATA_NUM => scalar(@loop_data));

print "Content-Type: text/html; charset=utf-8\n\n";
print $template->output;
[2231] Posted by kagahiro at 2010/08/18 20:59:26
1 point | Link (1) | Trackback (0) | Comment (1)

HTML::Templateの<TMPL_VAR>タグは、プログラムでパラメータに値を設定すると、タグの部分がパラメータで設定された文字列で置き換えられるという簡単なものです。以下は、<TMPL_VAR>タグの使い方を示す...
[2230] Posted by kagahiro at 2010/08/18 20:57:05
0 point | Link (1) | Trackback (0) | Comment (0)

Template Toolkit (TT)は、HTML::Templateなど他のテンプレートと比較してより汎用性の高い処理をすることが可能なテンプレートエンジン。出力をサブルーチンに渡したりファイルに出力することもできる。また、テンプ...
[2226] Posted by kagahiro at 2010/08/17 17:15:46
0 point | Link (1) | Trackback (0) | Comment (0)

テンプレートエンジンとは、テンプレートと呼ばれるHTMLページのひな形をプログラムからデータを渡し合成した結果をHTMLページとして出力するためのライブラリのことで、テンプレートエンジンを利用することで、プロ...
[2224] Posted by kagahiro at 2010/08/15 17:38:32
0 point | Link (3) | Trackback (0) | Comment (0)

Linux および Unix システム上で安全なプログラムを書く際に必要となる設計実装について、そのガイドライン。遠隔のデータを見るためのビューアーや Web アプリケーション(CGI スクリプトを含む)、ネットワーク・サ...
[2223] Posted by kagahiro at 2010/08/15 17:37:08
0 point | Link (1) | Trackback (0) | Comment (0)

単にテキストファイル等の文字エンコードを変換するのであれば、iconvコマンドを使用して変換すれば良いのですが、ときにはプログラム内部で取得した文字列の文字エンコード変換したい場合もあります。以下のプログ...
[2182] Posted by kagahiro at 2010/08/06 00:29:29
0 point | Link (1) | Trackback (0) | Comment (0)

Zen Cart(ゼンカート)は、オープンソースECサイト構築ソフト「osCommerce」から派生した、PHPとMySQLを使って実装されている高機能のオープンソースのECサイト構築ソフト。ライセンスはGPLを採用しておリ誰でも無料で...
[2181] Posted by kagahiro at 2010/08/06 00:26:03
0 point | Link (1) | Trackback (0) | Comment (0)

オンラインショップの商品が注文された際に顧客に注文内容の確認メールを送信したり、掲示板にコメントが書き込まれた際に管理人宛てに通知メールを送信したりするには、フォームで入力された項目の内容をCGIからメー...
[2178] Posted by kagahiro at 2010/08/05 14:39:39
2 point | Link (7) | Trackback (0) | Comment (2)

|< 先頭へ  < 前へ  1 2 3 4 5  次へ >


アクセスランキング

今日のアクセスランキング(上位10件)

  1. 掲示板フリーソフト - 無料で利用できる掲示板CGI (6 PV)
  2. 掲示板やチャットなどのフリーPHPスクリプトの配布サイト (5 PV)
  3. プリンセスガーデンホテル女性社長の「片岡都美」氏はフジモリ元大統領夫人 (4 PV)
  4. [Twitter]ツイッター検索のまとめ (4 PV)
  5. 自称「紀州のドンファン」和歌山の資産家「野崎幸助」氏が覚せい剤で不審死、警察は殺人容疑で捜査 (4 PV)
  6. 三菱自動車燃費データ偽装の補償金は1台たったの10万円 (3 PV)
  7. 【最近の有効求人倍率の低下について。全国平均0.84倍】 (3 PV)
  8. カラムーチョ8倍が「辛くて食えねえ」とネットで話題に (2 PV)
  9. ハニートラップとは (2 PV)
  10. PHP、MySQLで動くオープンソース掲示板ソフト (2 PV)

今月のアクセスランキング(上位10件)

  1. 2ちゃんねる(2ch)検索 掲示板 - スレタイ、過去ログ、全文検索 (64 PV)
  2. 掲示板やチャットなどのフリーPHPスクリプトの配布サイト (40 PV)
  3. 掲示板フリーソフト - 無料で利用できる掲示板CGI (36 PV)
  4. 浜崎あゆみ(はまさきあゆみ、ayumi hamasaki) (23 PV)
  5. [Twitter]ツイッター検索のまとめ (23 PV)
  6. [掲示板]2ちゃんねる(2ch.net) (23 PV)
  7. 5ちゃんねる(5ch.net、旧2ちゃんねる)掲示板 (22 PV)
  8. 2ちゃんねるは不法行為で乗っ取られていた、管理人のひろゆきが声明を発表 (20 PV)
  9. 2ちゃんねるまとめブログ「明日もやられやく」の管理人「小林浩忠容疑者」がウイルス作成罪で逮捕 (20 PV)
  10. 橋下市長は正しかった、米兵が日本人女性を二人がかりでレイプか (20 PV)

アクセス統計

ディレクトリ

関連サイト