くだすれPerl(超初心者用)3
■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん
2009/03/31(火) 22:20:27ID:???もしくは質問者自身何が何だが分からない質問を勇気を持って書き込むスレッドです。
Perl使いが優しくコメントを返しますが、
お礼はPerlの布教と初心者の救済をお願いします。
前スレ
くだすれPerl(超初心者用)2
http://pc11.2ch.net/test/read.cgi/php/1204488452/
関連スレ
Perlについての質問箱 39箱目
http://pc12.2ch.net/test/read.cgi/tech/1234181856/
Perlコーディング初心者質問スレ Part 59
http://pc11.2ch.net/test/read.cgi/php/1234752149/
【Perl上級者コーナーPart01】
http://pc11.2ch.net/test/read.cgi/php/1024741312/
0521nobodyさん
2010/01/04(月) 18:24:04ID:???0522nobodyさん
2010/01/04(月) 21:07:54ID:???ありがとうございます。
--
use CGI;
my $q = new CGI;
my $some_str = $q->param("○○");
print $q->header( -type => 'text/html', -charset => q{} );
print "<p>$some_str</p>";
--
name="○○"の"○○"を○○にいれてアップロードすれば動く(?)のでしょうか?
アップロードするのが心配です…
また送信した文字を表示するにはどのようにしたらいいのですか…?
送りたいのはURLの違うページなんですが…
0523nobodyさん
2010/01/04(月) 21:17:53ID:???それは送信した文字を表示するだけのスクリプトですので害はないです。
ただ、できれば自分のパソコンにWebサーバーを構築して試すことをお薦めします。
0524nobodyさん
2010/01/04(月) 21:41:05ID:???ありがとうございます。
ちょっとわからないのですがサーバーはロリポップです
use CGI;
my $q = new CGI;
my $some_str = $q->param("○○");
print $q->header( -type => 'text/html', -charset => q{} );
print "<p>$some_str</p>";
○○以外にいじる必要があるところはあるのでしょうか?
○○の部分をname="○○"と同じにしてtest.cgiで保存、アップロードしてみたところ
test.cgi.txt となってしましました…
from側もCGIのURLというところにURLをいれて文字を入れて送信しても
「※CGI もしくは SSI が正しく動作していません。」とでてしまいます…
0525nobodyさん
2010/01/04(月) 21:43:03ID:???○ test.cgi.txt となってしまいました…
です
0526nobodyさん
2010/01/04(月) 21:52:38ID:???後ろの.txtを消してください。
パーミッションを700(rwx------)にしくてください。
パーミッションについて / ホームページ / マニュアル - ロリポップ!
http://lolipop.jp/manual/hp/permission/
0527nobodyさん
2010/01/04(月) 21:55:28ID:???勉強したいんだったら、何か入門用の読み物見ながらゆっくりいろいろ遊んでみたらどう?
今まで使ってた独自タグとかいうのと同じことをしたいだけなら
<?php echo htmlspecialchars($_GET['hoge']) ?> こんな感じのを埋め込むほうが楽だと思う。
0528nobodyさん
2010/01/04(月) 22:01:17ID:???そうだね。
先頭行に、これを付け加えてください。
#!/usr/bin/perl
use CGI;
my $q = new CGI;
my $some_str = $q->param("○○");
print $q->header( -type => 'text/html', -charset => q{} );
print "<p>$some_str</p>";
0529nobodyさん
2010/01/04(月) 22:01:57ID:???何度も何度も申し訳ないです、本当にありがとうございます。
.txtは消しました。
パーミッションというのはどこにある(?)のでしょうか…?
/usr/local/bin/perl もしくは /usr/bin/perl
これは関係ないのですか?
0530nobodyさん
2010/01/04(月) 22:03:50ID:???0532nobodyさん
2010/01/04(月) 22:06:27ID:???>>528のように先頭行に書いてください。
パーミッションの設定方法は、>>526のURLを見てください。
0533nobodyさん
2010/01/04(月) 22:09:00ID:???単純なことなら問題ないのだろうけど
0534nobodyさん
2010/01/04(月) 22:24:36ID:???<html>
<head>
<body>
<form action="http://○○.△△/test.cgi" method="post">
<input type="text" name="id">
<input type="submit" value="送信">
</form>
</body>
</head>
</html>
--
cgiファイルが
#!/usr/bin/perl 700(rwx------)
use CGI;
my $q = new CGI;
my $some_str = $q->param("id");
print $q->header( -type => 'text/html', -charset => q{} );
print "<p>$some_str</p>";
こうなっているんですが、これでいいのでしょうか…?
間違っている場所があれば教えてください。
皆さん本当にありがとうございます。
0535nobodyさん
2010/01/04(月) 22:29:40ID:???明日近くの本屋さんに行ってPerlの本を見てきたいと思います。
Perlを最初にやるとPHPはわかりやすいと聞いたので
Perlから勉強しようと思ったのですがPHPを最初に勉強することも考えてみます。
0536nobodyさん
2010/01/04(月) 22:30:45ID:???0537nobodyさん
2010/01/04(月) 22:32:10ID:???ここ↓は、
#!/usr/bin/perl 700(rwx------)
こう↓です。
#!/usr/bin/perl
パーミッションは通常、FTPソフトで設定します。
>>526のURLのパーミッションの設定方法を見て設定してください。
0538nobodyさん
2010/01/04(月) 22:59:36ID:???ありがとうございます。
おかげでformで送信したものを.cgiファイルのほうに表示することができました。
0539nobodyさん
2010/01/04(月) 23:02:35ID:???0541nobodyさん
2010/01/04(月) 23:42:56ID:???0543nobodyさん
2010/01/05(火) 17:14:37ID:???ただの喩えだからPerl6がどうとか関係ないと思うが。
昔はこういう質問で溢れてたよなあ。フォーム作れなくて困ってるとか
久しぶりに見たわ。
XSSとかCSRFとかにも一応気をつけろよ(CSRF対策とかできなさげな気がするが)
0545nobodyさん
2010/01/05(火) 17:30:49ID:???まあ、実際にはリファラ見れば大抵のCSRFは防げるわけだが、
http://〜からマッチかけると可搬性がなくなるし、かといってファイル名部分で
マッチをかけると罠サイトも同じにしてくる可能性もある。
リファラに送らないUAに対応しようとすると非直リンでCSRFの穴があく、
などであまり対策にならない。
GET->POSTもしないよりはマシだが、そもそも悪意のサイトだったりXSSされてれば簡単に穴空くしな。
0546nobodyさん
2010/01/05(火) 23:08:06ID:???今日、近くにある本屋をいろいろ見てまわってきました。
「10日でおぼえる Perl/CGI 入門教室 第2版」という本しかなかったのでそれを購入しました。
いろいろ読んで勉強してみたいと思います。
昨日は本当にありがとうございました。
0547nobodyさん
2010/01/06(水) 05:58:47ID:???一番買ってはいけない類の本を買ったな・・・。
普通にらくだ・りゃま本とCatalystのマニュアルでよかったのに。
0548nobodyさん
2010/01/06(水) 06:25:15ID:???それで一応ソース読み書きできる程度になって、
その後はネット上なりリャマなりでいろいろ学んだり実践していけば、
そのうち最初に買った本の内容にツッコミ入れながら読めるようになるだろ。
0549nobodyさん
2010/01/06(水) 07:02:49ID:???そうだったのですか…
なんかよくわからないところばかりです…
Apacheではなく借りたサーバーのほうでやっているせいなのか
本の通り書いても動かないんですよね…
今日は少し遠くに行って探してみます。
0550nobodyさん
2010/01/06(水) 07:03:06ID:???0551nobodyさん
2010/01/06(水) 07:42:36ID:???俺はあまり関係ないが、早くPlack対応のレン鯖が現れるといいな。
CGIはいいかげんもういーだろ。
0552nobodyさん
2010/01/06(水) 07:43:05ID:???0553nobodyさん
2010/01/06(水) 13:08:53ID:???0554nobodyさん
2010/01/06(水) 17:26:03ID:U4hPtr/3みたいなシリーズは一番買ってはいけない本だと思うのだが・・・
0555nobodyさん
2010/01/06(水) 17:28:41ID:???解説をしていただきたいのですがここに載せても大丈夫なのでしょうか?
教えていただいた方とは連絡がとれなくなってしまいその人に解説していただくのは不可能です。
捨てメールアドレスを作ってここに載せ連絡をくれた方に送り解説していただく、という形のほうがいいでしょうか?…
0556nobodyさん
2010/01/06(水) 17:47:20ID:???あとソースをどこかにアップして、それへのリンクを貼ればよいかと。
0557nobodyさん
2010/01/06(水) 18:26:00ID:???pass:2perl です
アップローダーを使ったことないのでちょっと不安ですが…
.txtファイルを一応ALZipで圧縮しています…
0558nobodyさん
2010/01/06(水) 18:35:10ID:???>>557
昨日辺りに「10日でおぼえる Perl/CGI 入門教室 第2版」を買った記憶はない?
0559nobodyさん
2010/01/06(水) 18:49:20ID:???購入しました。
use CGI qw /:seandard/;っていうのが買った本には載っていなく検索してみたら
モジュール(?)みたいなことがでてきてここで戸惑っていました
他の部分は見て、調べてを繰り返していてparamがパラメータを指している(?)
などということがわかってきたって感じです
0560nobodyさん
2010/01/06(水) 23:50:12ID:???何モンだあんた
0562nobodyさん
2010/01/07(木) 18:03:26ID:cG1x4224>>557を教えていただいたのはこのスレではなく違うサイトでメールで個人的に教えていただきました。
>>557はまだよく理解できていません…
>>561さん
あれから動かなく(?)なってしまいました
携帯サイトで使いたいです。
また一度に複数送信したいのですが…
0563nobodyさん
2010/01/08(金) 08:56:16ID:???ご自分のパソコンにWebサーバーの構築はされましたでしょうか?
ご購入された本にWebサーバー構築のことは書かれてはいませんか?
それから、まずコマンドラインから実行して、最低限のバグは取りましょう。
DOSプロンプトから
C:\>perl xxx.cgi
と打てばいいだけです。
>#!/usr/bin/perl
これは必ずファイルの”先頭行”に書かなければいけません。
Perlを実行するプログラムがどこにあるのかを記述しています。
>use CGI qw /:seandard/; → use CGI qw/:standard/;
use文は、モジュール(特定の機能を集めた関数とデータ群)を現ファイルに読み込みます。
この場合、CGIに必要な機能を集めたCGIモジュールをこのファイルに読み込んでいます。
qw/ /で、その機能のどれを(どのように)使うかを指定します。
今回の:standardは、オブジェクト指向形式でなく関数形式でも使うという指定です。
0564nobodyさん
2010/01/08(金) 08:57:47ID:???CGIモジュールのオブジェクトを作り、それを$qという変数に入れています。
$qには、各種データが入っています。
以降、この$qを用いて様々な処理をすることができます。
>my $a = $cgi->param('a'); → my $a = $q->param('a');
>my $b = $cgi->param('b'); → my $b = $q->param('b');
フォームで送られてくるデータを取り出します。
name="○"の○を引数にすることで、そこで入力された値が取り出せます。
$q->xxxとは、$qというオブジェクトに関連付けされた関数xxxを呼び出すという記述です。
>print $q->header;
サーバーからブラウザに送られてくるデータ(レスポンス)はヘッダーと本文に分かれますが、
ブラウザに出力されるのは本文のみです。
ヘッダーには、様々な制御命令が記述されています。
この文は、そのヘッダーを出力しています。
>print $q->start_html;
HTMLの冒頭に必要な各種情報を出力します。
>print << "EOF";
>$aはaで受け取る
>$bはbで受け取る
>EOF
ブラウザに実際に書かれるHTML文章です。
>print $q->end_html;
HTMLの最後に必要なタグを出力をします。
>exit;
プログラムを終了する関数です。
0565nobodyさん
2010/01/08(金) 17:40:50ID:???私自身がCGIモジュールというものを作らなければならないのでしょうか?…
サーバーにはよくわからないのでパーミッションを700であげています
外部のサイトには送れるんですが自分のサイトの中でフォームの送受信がいまだにできない状態です…
難しいですね…
0566nobodyさん
2010/01/08(金) 17:42:37ID:???だとするとDNSも立てないとダメだよ?
0567nobodyさん
2010/01/08(金) 18:01:17ID:???携帯でも使えて、表示する部分は自分で選べる、複数(入力欄1に「あいうえお」、入力欄2に「かきくけこ」)にも対応させたいです。
一番簡単にたとえると、メールフォームで文字を打つ→送信前の確認ページ→送信完了
の「メールフォームで文字を打つ→送信前の確認ページ」ここです。
説明が下手で申し訳ないです。
0568nobodyさん
2010/01/08(金) 18:05:11ID:???LAN内? レン鯖?
0569nobodyさん
2010/01/08(金) 18:46:14ID:???レンタルサーバーです。
0570nobodyさん
2010/01/08(金) 18:51:46ID:???CGIモジュールは先駆者が既に作っています。
標準で入っているので、どこからか持ってくる必要はないです。
use CGI;の一文で使えるようになります。
Perlの場合、必要そうなモジュールは大概、誰かが作っていて、様々なモジュールを組み合わせて
プログラミングしていくことになります。
WAF(Web Application Framework)と呼ばれている大きなモジュール群あり、これはページ遷移等
の大枠が既に作られていて、比較的簡単に大規模Webアプリを作ることができます。
0571nobodyさん
2010/01/08(金) 19:27:43ID:gGxGm+Hxmy @u; open(IN,$guestfile); @u=<IN>; close(IN); chomp(@u);
@u=grep($in{'handle'},@u);
return $u[0];
}
● $guestfile: 文字通りゲストの password, handle, etc. を記録したファイルの path.
● $in{'handle'}: STDIN から受け取ったゲストのハンドル.
読み取った情報からハンドルが一致するパスワードを選び出せるはずだったのに,
ハンドルが一致しなくてもパスワードが返って来るっぽ (`д´)うわぁ〜ん.
ど, どうして ?
0572nobodyさん
2010/01/08(金) 19:31:55ID:???スコープ周りが怪しい
0574nobodyさん
2010/01/08(金) 19:45:07ID:gGxGm+Hxす, 素早い回答ありがとうございます.
もしかして grep() がダメなら loop でぶん回すしかないかな? とアレコレ...
>$guestfile: $in{'handle'}: の方のコードも
zip 圧縮して後ほど upload します.
(叩きどころ満載かと思いますが...)
0575nobodyさん
2010/01/08(金) 19:52:08ID:???0576nobodyさん
2010/01/08(金) 20:06:41ID:gGxGm+Hxお手数ですが...
ttp://homepage2.nifty.com/alter/bbs.zip
0577nobodyさん
2010/01/08(金) 20:07:39ID:???$in{'handle'}が真であるという条件だけで素通ししてるように見えるんですけど
0578nobodyさん
2010/01/08(金) 20:10:57ID:gGxGm+Hx母音を省略した subroutin, valiable が ほとんどなので
他人様に解読していただくのは極めて困難を極めるかと orz...
0579nobodyさん
2010/01/08(金) 20:16:04ID:???そうです。携帯サイトを作りながら開いたスペースで練習しています。
なのでフォームの送受信というのでしょうか、それができるようになりたいのですが…
0580nobodyさん
2010/01/08(金) 20:17:54ID:gGxGm+Hx0581nobodyさん
2010/01/08(金) 20:29:36ID:???subroutine
0582nobodyさん
2010/01/08(金) 20:34:14ID:???> my @u,@v; open(IN,$gst); @u=<IN>; close(IN); chomp(@u);
> my $hdl=$in{'hdl'}; @v=grep($hdl,@u);&dlg(@v);
> @u=split("\t",$u[0]);
> return $u[0];
> }
うーん、変数名の付け方とか詰めすぎは「俺の勝手だ」かもしれないけど
古文書を参考にするのはやめたほうがいいよ。sub decode とか sub tim とか。
>>577の指摘どおりなので perldoc -f grep
0583nobodyさん
2010/01/08(金) 20:52:18ID:gGxGm+Hx;(;_;);
>>582
自給自足で使うつもりだったので他人様に見せようとは夢にも考えてなかったんれす.
取り敢えずは動いているものの完成にはまだまだ遠い道が...
ところで "古文書" とは どういうことでしょうか ?
正直, 本よりも web で調べて アレコレ試行錯誤中なんですが.
0585nobodyさん
2010/01/08(金) 21:13:55ID:???古文書って書いたのは>>583の通り。わざわざ昔の手法を覚えてしまってる。
例えば sub decode {} するより CGI.pm を使いましょう、なんだけど
参考にしてるリソースがよろしくないんだろうね。
0587nobodyさん
2010/01/08(金) 21:16:25ID:gGxGm+Hxなるほど. (σ(^_^;)の脳味噌が まさに旧時代の遺物だったりして.)
参考までに新時代のコードってのはあるんすか ?
まさか, OOP ?
perl の OOP って, おいらにはサパ〜リ.
0589nobodyさん
2010/01/08(金) 21:49:30ID:???アドバイスくださった方々, ありがとうございます.
ご指摘いただいたことを参考に, 調べなおします.
また来る事になるかもしれません, そのときは よろぴく.
0590nobodyさん
2010/01/09(土) 18:37:43ID:???結局, loop でぶん回すことにしました. <- ダサいやり方だとは思いますが.
(sub decode と同様なやり方です)
そもそも grep(/〜/,@a) の使い方が理解できていないっす.
(というか JavaScript の new RegExp() みたいな使い方が perl にもあるのかどうか ???)
あと, CGI.pm は nifty では使えない模様っす.
(server 借りて本格的にやるほどのネタの持ち合わせがありません)
(制限多すぎとはいえ, 100MB のスペースを利用しない手はないと考えてます)
0591nobodyさん
2010/01/09(土) 19:17:04ID:???入ってないなら、CPANから持ってくるとか。
0592nobodyさん
2010/01/09(土) 19:24:56ID:???USERNAME \t PASSWORD \n
という仮定で
my $idpass;
open(INFH, '<', $guestfile);
read(INFH, $idpass, (-s INFH));
close(INFH);
$idpass =~ /\n$in{'handle'}\t(.*?)\n/s;
return $1;
0593nobodyさん
2010/01/09(土) 19:32:08ID:???ttp://homepage.nifty.com/faq/faq_b4.htm#q5
"use/requireで外部関数(モジュール)をコールする場合は、
perlの標準モジュールを@homepageのシステムでは用意しておりませんので
使用することはできません"
"自分で用意したらどうか" と言う問題に付いては
Google でもヒットしますが実際に実験をした人はいない模様っす."
アッシがやれば それなりのネタになるかもですが そもそも .pm を使いこなせないので...
0594nobodyさん
2010/01/09(土) 19:40:36ID:???0595nobodyさん
2010/01/09(土) 19:43:59ID:???>パスワードを記述したファイル:
TSV 形式で {cipher, handle,IP} を記録してます.
ついでに書きこみ回数なども記録するのも おもしろいかも ?
で, 仮にハンドルに数字を使われた場合に
IP とマッチングする可能性も考えられるので今のやり方に落ち着きました.
わざわざサンプルを書いてくださり, ありがとうございます.
0596nobodyさん
2010/01/09(土) 19:44:07ID:???0598nobodyさん
2010/01/09(土) 19:58:23ID:???0599nobodyさん
2010/01/09(土) 20:06:03ID:???記録するときにもチェックをして重複記録しないようにしてます.
それと, そもそも書きこむのが自分だけだったりして... (;_;)
個人サイトでのゲストの人数なんて問題にならないかと.
0600nobodyさん
2010/01/10(日) 22:35:25ID:???後、パスワードはMD5やSHA-2にして保存した方がセキュリティ上いいんじゃない?
0601nobodyさん
2010/01/11(月) 00:25:31ID:???今、以下の流れを処理するスクリプトを書いています。
1.ファイルを参照して、区切り文字<>で連結された文字列を取り出す
2.連結解除し、一行分の情報をハッシュにまとめた後、ハッシュの配列を一つ作る
3.ファイルを参照して、テンプレート化されたHTMLを取り出す
4.HTMLに埋め込まれた変数を正規表現で置換する
この4つ目の部分で悩んでいます。
以下が当該箇所のスクリプトです。
foreach $elm (@articles){
undef(@tmp1);
foreach $tmpl (@template){
$tmpl =~ s/\[\% name \%\]/$elm->{name}/g;
$tmpl =~ s/\[\% mail \%\]/$elm->{mail}/g;
push(@tmp1, $tmpl);
}
push(@tmp2, @tmp1);
}
もう一日考えて頭がパンクしそうなので、どなたかお答えいただけないでしょうか?
私の方でもしばらくまた考えてみます。。。
0602nobodyさん
2010/01/11(月) 00:46:48ID:???0603nobodyさん
2010/01/11(月) 01:08:19ID:???すみません、失念していました。
仕様通りに動いてくれないのは、
foreach $tmpl (@template){処理;}
の部分です。
最初の方のループで$elmを回しているにも関わらず、
@tmp2に入っている$elmの値が$elmの最初のもののみとなってしまっている状況です。
以下が処理した結果となります。
name : 1
mail : 1@hoge
name : 1
mail : 1@hoge
これを以下のように回るようにしたいのです。
name : 1
mail : 1@hoge
name : 2
mail : 2@hoge
0604nobodyさん
2010/01/11(月) 01:15:38ID:???で質問は、結果がこうなってしまうってことだよな?
name1 = mail1@microsoft.com
[name1] as [mail1@microsoft.com]
name1 = mail1@microsoft.com
[name1] as [mail1@microsoft.com]
use strict;
use warnings;
my (@articles, @template);
my @data = <DATA>;
for my $d (@data[0..1]) {
chomp $d;
my ($name, $mail) = split(/<>/, $d);
my $element = { name => $name, mail => $mail, };
push @articles, $element;
}
push @template, @data[2..3];
my @output;
for my $elm (@articles) {
for my $tmpl (@template) {
$tmpl =~ s/\[\% name \%\]/$elm->{name}/g;
$tmpl =~ s/\[\% mail \%\]/$elm->{mail}/g;
push @output, $tmpl;
}
}
print @output;
__DATA__
name1<>mail1@example.com
name2<>mail2@example.com
[% name %] = [% mail %]
[[% name %]] as [[% mail %]]
0605nobodyさん
2010/01/11(月) 01:17:04ID:???0606nobodyさん
2010/01/11(月) 02:36:45ID:???こんな短時間で…ありがとうございます!
見たところchompしている部分と@tmp2を使わない以外は同じのようですね。
0607604
2010/01/11(月) 02:48:37ID:???答える奴が手元で実行しやすいようにと思ってさ。
for my $tmpl (@template) {
my $t = $tmpl;
$t =~・・・
と一度他のレキシカル変数に代入して、そちらを置換すれば望んだ結果は得られるんだが、
$tmplの置換で@templateの中身も書き換わってしまう理由が俺には分からなくて説明できないんだ。
誰か他の奴頼む。
0608nobodyさん
2010/01/11(月) 03:08:41ID:???>LIST の要素が左辺値であった場合、ループの中で VAR を変更することにより、
>対応する値を変更することができます。逆に、LIST の要素が左辺値でない場合は、
>この要素を修正しようとしても失敗します。言い換えると、foreach ループの
>帰納変数がループの対象となっているリスト中の個々のアイテムに対するエイリアスになっているからです。
0609601
2010/01/11(月) 03:13:29ID:???むつかしいですね。
ひとまず他の変数に代入してやると言う方法で、この場はしのいでみようと思います
こんな遅くまでありがとうございます!
>>608
ありがとうございます!
perldocも良く読んでおくべきでしたね。。。
0610nobodyさん
2010/01/14(木) 13:58:55ID:???0611nobodyさん
2010/01/16(土) 21:41:57ID:???ところが sub() てな感じでも良いらしいことをこの板のスレッドで発見.
だまされたつもりで試して見ると普通に通る模様.
js と同じスタイルになるので こっちの方が良さそう.
ところで, これって perl 使いに取っての常識 ?
(Google でヒットする解説サイトの どこにも書かれてなかったけど)
もしそうだとするのなら, 他にも同様なことが あるのかしらん ?
0612nobodyさん
2010/01/16(土) 22:13:58ID:???とりあえずここ参照。コメント欄も含めて。
http://blog.livedoor.jp/dankogai/archives/51237271.html
0613nobodyさん
2010/01/16(土) 22:33:59ID:???ありがとうございます.
掲示板自作に半年 ? いや, かれこれ 5年目かも (゜w゜)
いつになったら完成するのやら.
でも, 最初の頃と比べれば...
0614nobodyさん
2010/01/26(火) 00:22:20ID:???というのも、SSIを動かすmodにバグが見つかったからです。
出力する文字コードはUTF-8で、Perlスクリプト文字コードはEUC-JPです。
/foo.shtmlを完全にPerl化して、
/foo/bar.shtmlから読み込めるようにしたいです。
--/foo/bar.shtml--
<!--#set var="pgtitl" value="サーバー環境" -->
<!--#include virtual="/foo.(cgiにしたいなぁ……)" -->
--/foo.shtml--
<!--#if expr="${pgtitl}" -->
<h1><!--#echo var="pgtitl" --></h1>
<!--#endif -->
0616nobodyさん
2010/01/26(火) 00:35:33ID:???http://search.cpan.org/~tskirvin/CGI-SHTML-1.29/CGI/SHTML.pm
多分SHTMLのパーサ
0617nobodyさん
2010/01/26(火) 00:39:47ID:???0618nobodyさん
2010/01/26(火) 01:36:08ID:???これかな?(検索したら出てきた)
https://forums.ubuntulinux.jp/viewtopic.php?pid=48428
0619nobodyさん
2010/01/26(火) 16:46:15ID:???http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1035823010
0620614
2010/01/26(火) 22:09:36ID:???0621nobodyさん
2010/01/26(火) 23:06:18ID:???>#include virtual
おいら, まだヒヨッコだけど,
そして, SSI はまったく調べたことがないけれど,
要はhtml ファイル (template)を読み込んで
部分的に replace するだけじゃないのかな ?
だったら おいらでも なんとか...
(だけど ここの先輩たちの回答がないのはなぜ ?)
■ このスレッドは過去ログ倉庫に格納されています