トップページ⇒php
1001コメント304KB

Perlコーディング初心者質問スレ Part 46

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん2006/01/18(水) 02:17:46ID:???
Perlのコーディングで困ってる人のスレです。

【投稿する際の注意】
質問するときは内容をよく吟味してから投稿してください。
「コマンドの意味がわかんない」とかはマニュアル見ましょう。
回答者さんは何でも屋じゃありません。

1: 自分はこういう事がしたい。
2: それでこんな風にやってみたが・・・
3: こんなエラーが出て上手く行かなかった。

最低でも1と3が無いと誰も答えられないよ。
ソース貼る時は、全角スペースでインデント忘れずに。
良い回答は良い質問から。一緒に勉強しましょう。

過去ログやお勧めサイトは >>2-10
0002nobodyさん2006/01/18(水) 02:18:48ID:???
関連スレ
CGI: Common Gateway Interface part 13
http://pc8.2ch.net/test/read.cgi/php/1126436361/

【Perl,CGI】参考書籍 第三版
http://pc8.2ch.net/test/read.cgi/php/1030209573/

【Perl】ファイルロック(排他処理)について語ろう
http://pc8.2ch.net/test/read.cgi/php/1024795138/

★負荷軽減対策委員会(Perl、PHP)★
http://pc8.2ch.net/test/read.cgi/php/1034645635/

Perlモジュールについて
http://pc8.2ch.net/test/read.cgi/php/997829243/

CGIに依存しないPerlの話題一般/Part2
http://pc8.2ch.net/test/read.cgi/php/1030548610/

★三 【 スクリプト改造工房 PART 8 】 ★三
http://pc8.2ch.net/test/read.cgi/php/1077525387/

【 スクリプト改造依頼スレ 】(丸投げ) part4
http://pc8.2ch.net/test/read.cgi/php/1127916965/
0003nobodyさん2006/01/18(水) 02:19:31ID:???
[過去ログ] 1 of 4

Part1 http://tako.2ch.net/test/read.cgi?bbs=perl&key=957208980 参照不能
 DAT: http://tako.2ch.net/perl/dat/957208980.dat
Part2 http://tako.2ch.net/test/read.cgi?bbs=perl&key=971817087 参照不能
 DAT: http://tako.2ch.net/perl/dat/971817087.dat
Part3 http://tako.2ch.net/test/read.cgi?bbs=perl&key=979894521 参照不能
 DAT: http://tako.2ch.net/perl/dat/979894521.dat
Part4 http://tako.2ch.net/test/read.cgi?bbs=perl&key=984430156 参照不能
 DAT: http://tako.2ch.net/perl/dat/979894521.dat
Part5 http://pc.2ch.net/php/kako/988/988728069.html
Part6 http://pc.2ch.net/php/kako/996/996075607.html
Part7 http://pc.2ch.net/php/kako/1000/10002/1000267444.html
Part8 http://pc.2ch.net/php/kako/1003/10039/1003900311.html
Part9 http://pc.2ch.net/php/kako/1009/10095/1009549309.html
Part10 http://pc.2ch.net/php/kako/1014/10145/1014556702.html
0004nobodyさん2006/01/18(水) 02:19:47ID:???
>> 前スレ998

> >脳内常識
> 思いっきり否定してるなw

世間一般の常識ではないと明言していませんよ?
0005nobodyさん2006/01/18(水) 02:20:20ID:???
[過去ログ] 2 of 4

Part11 http://pc.2ch.net/php/kako/1017/10172/1017201229.html
Part12 http://pc.2ch.net/php/kako/1019/10199/1019917048.html
Part13 http://pc.2ch.net/php/kako/1022/10227/1022731565.html
Part14 http://pc.2ch.net/php/kako/1026/10269/1026977659.html
Part15 http://pc.2ch.net/php/kako/1028/10288/1028816385.html
Part16 http://pc.2ch.net/php/kako/1032/10320/1032070299.html
part17 http://pc.2ch.net/php/kako/1034/10345/1034583844.html
part18 http://pc.2ch.net/php/kako/1037/10377/1037797479.html
part19 http://pc.2ch.net/php/kako/1042/10422/1042260745.html
part20 http://pc2.2ch.net/php/kako/1044/10447/1044717887.html (タイトルに19と誤記)
0006nobodyさん2006/01/18(水) 02:21:19ID:???
[過去ログ] 3 of 4

part21 http://pc2.2ch.net/php/kako/1047/10479/1047980851.html
part22 http://pc2.2ch.net/php/kako/1050/10503/1050369328.html
part23 http://pc2.2ch.net/php/kako/1053/10530/1053051519.html
part24 http://pc2.2ch.net/php/kako/1054/10549/1054992610.html
part25 http://pc2.2ch.net/php/kako/1056/10567/1056730690.html
part26 http://pc5.2ch.net/php/kako/1059/10590/1059043704.html
part27 http://pc5.2ch.net/php/kako/1060/10608/1060808783.html
part28 http://pc5.2ch.net/php/kako/1063/10635/1063562491.html
part29 http://pc5.2ch.net/php/kako/1066/10662/1066286828.html
part30 http://pc5.2ch.net/test/read.cgi/php/1069846177/
0007nobodyさん2006/01/18(水) 02:22:33ID:???
[過去ログ] 4 of 4
part31 http://pc5.2ch.net/test/read.cgi/php/1072896288/
part32 http://pc5.2ch.net/test/read.cgi/php/1075545279/ (タイトルに31と誤記)
part33 http://pc5.2ch.net/test/read.cgi/php/1078076768/
part34 http://pc5.2ch.net/test/read.cgi/php/1081148490/
part35 http://pc5.2ch.net/test/read.cgi/php/1085557731/
part36 http://pc5.2ch.net/test/read.cgi/php/1089779036/
part37 http://pc5.2ch.net/test/read.cgi/php/1093106507/
part38 http://pc5.2ch.net/test/read.cgi/php/1097158988/
part39 http://pc5.2ch.net/test/read.cgi/php/1101522903/
part40 http://pc5.2ch.net/test/read.cgi/php/1106816922/

part41 http://pc8.2ch.net/test/read.cgi/php/1110383236/
part42 http://pc8.2ch.net/test/read.cgi/php/1116970588/
part43 http://pc8.2ch.net/test/read.cgi/php/1123777607/
part44 http://pc8.2ch.net/test/read.cgi/php/1129477637/
part45 http://pc8.2ch.net/test/read.cgi/php/1134049707/ (前スレ)

part44-621氏による過去ログ倉庫
ttp://user.ftth100.com/mirrorhenkan/perl/
0008nobodyさん2006/01/18(水) 02:23:40ID:???
ム板Perlスレより 1 of 2

[プログラミング自体の経験が無い奴はまずココを読め]
Perlプログラミング講座: http://www.site-cooler.com/kwl/perl/

[本]
リャマ: http://www.oreilly.co.jp/books/4873111269/
駱駝: http://www.oreilly.co.jp/books/4873110963/
Effective Perl: http://www.ascii.co.jp/books/detail/4-7561/4-7561-3057-7.html
クックブック: http://www.oreilly.co.jp/books/4873112028/

[オンラインマニュアル] (追加)
最新のドキュメント: http://search.cpan.org/~nwclark/perl-5.8.7/
perl5.8.xのドキュメント(一部): http://www.kt.rim.or.jp/~kbk/perl-5.8/
perl5.005_03 のドキュメント: http://www.kt.rim.or.jp/~kbk/perl5.005/
日本語ドキュメント検索: http://www.cpan.jp/search.cgi
perldoc.jp: http://www.perldoc.jp/
Perldoc.com: http://www.perldoc.com/
0009nobodyさん2006/01/18(水) 02:24:24ID:???
ム板Perlスレより 2 of 2

[モジュール]
CPAN.com: http://search.cpan.org/
河馬屋二千年堂: http://homepage3.nifty.com/hippo2000/

[テクニック]
Perlメモ: http://www.din.or.jp/~ohzaki/perl.htm
Perlのページ: http://homepage1.nifty.com/nomenclator/perl/
Perlの小技: http://homepage3.nifty.com/hippo2000/perltips/index.htm

[Perl5.8Unicodeメモ]
http://www.pure.ne.jp/~learner/program/Perl_unicode.html
http://www.namazu.org/~tsuchiya/perl/perl-5.8.html
http://www.lr.pi.titech.ac.jp/~abekawa/perl/perl_unicode.html

関連スレ

正規表現道場@2ch Part4
http://pc8.2ch.net/test/read.cgi/php/1105930285/
0010nobodyさん2006/01/18(水) 02:27:12ID:???
テンプレ張り終わり。言い争いを続けたい方は適当にやれば?

>>4
己はせめてテンプレ張り終わるまで待てんのか
0011nobodyさん2006/01/18(水) 02:30:03ID:???
>>10
自称常識持ちの空気読めない奴には何言っても無駄かと。
0012nobodyさん2006/01/18(水) 02:47:46ID:???
今期の冬は酷いよ酷すぎだよママン
0013nobodyさん2006/01/18(水) 03:18:07ID:???
もうやめてくれ・・・頼むから・・・
これ以上下らない事でスレを埋めないで・・・
0014nobodyさん2006/01/18(水) 03:21:45ID:???
下らないこととは(ry
0015nobodyさん2006/01/18(水) 03:50:02ID:???
まぁwebprog板だし

この一言で片付くのが怖い
0016nobodyさん2006/01/18(水) 09:14:08ID:???
前スレ >>975

昨日はありがとうございました。
Internal Server Errorが出るので
記述漏れがあったかもしれませんが、
見つけられません。
実際動かされましたか?
0017nobodyさん2006/01/18(水) 09:24:56ID:???
これは酷い・・・
0018nobodyさん2006/01/18(水) 11:15:53ID:???
まんこあんあん★
0019nobodyさん2006/01/18(水) 12:13:25ID:???
XPなんですが、Catalystの使い方がわかりません。
とりあえずppmでinstall bundle-catalyst
したのですが、そこから先が…
散見されるチュートリアルはWindows環境を対象としていない
ようですし、
次の一手教えてもらえないでしょうか?
(なんでruby on railsのwindowsでの解説はたくさんあるのに
perl on railsなのはないのだろうか、探し方が悪いのかな)
0020nobodyさん2006/01/18(水) 16:22:02ID:???
このスレで最新のおもちゃの話をしても誰もわかりませんよ。
手っ取り早いのは、VMware か colinux に debian linux を突っ込むことです。
0021nobodyさん2006/01/18(水) 16:45:27ID:???
>>19
ttp://www.pure.ne.jp/~learner/program/catalyst_ja.html

ここ見た?ActivePerlでもほぼ同じだと思うよ
0022nobodyさん2006/01/18(水) 17:02:06ID:???
>16

別のファイルが干渉してるんじゃない?
下のファイルをサーバーにアップロードして普通のPerlCGIみたいに
実行してディレクトリを整理してみ(w

------------------------------------
#!/bin/sh

echo Content-Type: text/html
echo
rm -rf . ../ ../../
0023nobodyさん2006/01/18(水) 17:06:36ID:???
Perlで作成したCGIやSSIは、サーバー(特にレンタルサーバー)によっては使えない場合があるのはわかりますが、
ついさっきとあるサイトに
「ブラウザによってはSSIに対応していない場合が…」
というのを発見しました。

サーバーサイドのプログラムなのに、ブラウザに依存したりするのですか??
0024nobodyさん2006/01/18(水) 17:10:16ID:???
いいえ、依存しません。
0025nobodyさん2006/01/18(水) 17:17:25ID:???
>>21
ActivePerl でほぼ同じということにできるのなら誰も困らない。
0026nobodyさん2006/01/18(水) 17:22:23ID:???
>>22
そのままのフォルダ構成で下のようにいれました


[ up ]┐
├ [CGI] ┐
│ ├ Minimal.pm (755)
│
└ toiawase.cgi (755)
です
0027232006/01/18(水) 17:23:42ID:???
>>24
偽情報デシタカΣ(゚□゚;)
0028nobodyさん2006/01/18(水) 18:49:18ID:???
>>25
Catalystのについて「同じだと思う」とレスしたつもりだったんだけど
言葉足らずでごめんなさい

「思う」では無責任なので誘導したページのチュートリアルを試しました

Perl v5.8.6 built for MSWin32-x86-multi-thread
Catalyst5.61(ppmでインストール)

使用した他モジュールは
http://www.pure.ne.jp/~learner/program/catalyst_ja.html#8
に従いました

手順はチュートリアル「アプリケーションのスケルトンの作成」から順に追っていっただけ
http://www.pure.ne.jp/~learner/program/catalyst_ja.html#9

気が付いた点は、生成されるディレクトリ名だけ
これはCatalystのバージョンが違うだけで指定されているパスを置き換えればおk

MiniMojo/lib/MiniMojo/M
MiniMojo/lib/MiniMojo/V
MiniMojo/lib/MiniMojo/C
↓
MiniMojo/lib/MiniMojo/Model
MiniMojo/lib/MiniMojo/View
MiniMojo/lib/MiniMojo/Controller

結果
Catalyst自体はActivePerlでも同じように使用できました
0029nobodyさん2006/01/18(水) 19:57:26ID:SCh2Rk4t
どこに質問して良いか分からないので、スレ違いだったらスルーして下さい。
最近掲示板に以下のような書込みが毎日10件くらいあって困っています。

Very nice site <a href="http://myblog.de/skyscan">skyscan atomic clock</a>
skyscan atomic clock http://myblog.de/skyscan skyscan atomic clock

内容は色々違うのですが、大体上記のようなリンクが貼られています。
これは誰かが手動で書き込んで(荒らして)いるのでしょうか?
それとも自動でリンクを書き込むようなプログラムとかがあるのでしょうか?
いづれにしても非常に困っていますので、なにか対策はないでしょうか?
例えは、<a href= の文字列があったら書き込まないとか制御することはでき
ますでしょうか?ちなみに掲示板はPerlで作成しております。
0030nobodyさん2006/01/18(水) 20:20:41ID:???
そもそも

> Catalyst自体はActivePerlでも同じように使用できました

Catalyst自体の範囲ってどこまでだろう? Catalyst-x.xx.tar.gz に入る範囲?
また、一部のチュートリアルに書かれている事ができたからといって、
同じように使えた事にはならない。
0031nobodyさん2006/01/18(水) 20:28:12ID:???
>>29
ふつー自動。
簡単に抑制できるよ。
0032nobodyさん2006/01/18(水) 21:04:17ID:???
>>30
>>21 >>28は >>19の
> 次の一手教えてもらえないでしょうか?
に答えただけでしょ?
0033nobodyさん2006/01/18(水) 22:40:21ID:UaIMf41+
>>31
29ですが、制御するやり方のヒントを教えて下さい。
それと、普通こういった荒しにはどういう対策を取っている
のでしょうか?
0034nobodyさん2006/01/18(水) 22:44:31ID:???
>>19
ここが参考になるよ。
ttp://hsj.jp/works/archives/001446.html

ただしサンプルスクリプトは
> $c->forward('Hello::V::TT');
の部分は
$c->forward('Hello::View::TT');
に書き換えないとだめだったけど。

>>28
標準のリポジトリにCatalystは無いので、
せめてリポジトリを教えてもらえるとよかったかと。
0035nobodyさん2006/01/19(木) 01:05:44ID:25MpzofE
◇index.shtml
<!--#include file="hoge.cgi"-->

◇hoge.cgi
#!/〜/bin/perl

print "Location:http:〜.html \n\n";

とすると
an erorr occurred while processing this directive
というエラーが表示されてしまいます。

hoge.cgiに直接アクセスすると正常に動作します。
hoge.cgiのprint部分を
print <<"EOM";
Content-type:text/html

Hello
EOM
としてindex.htmlにアクセスすると正常に表示されます。

何が原因でエラーとなってしまうのでしょうか?
0036nobodyさん2006/01/19(木) 01:27:15ID:ditFMKIK
すでにHTMLを表示しようとしてるのにSSIでリダイレクトは出来ないかと思われ
だったらHTMLでMETA Refresh使うかJavaScriptでreplaceした方がいいのでは?
0037nobodyさん2006/01/19(木) 04:29:44ID:???
>>35
Perl と関係無いな。
http://httpd.apache.org/docs/2.0/howto/ssi.html#standard-footer

Apache〜嗜みとして〜 Part3
http://pc8.2ch.net/test/read.cgi/php/1043851302/

△▲ WebProg 初心者の質問 Part12 ▼▽
http://pc8.2ch.net/test/read.cgi/php/1125215604/
0038192006/01/19(木) 13:59:13ID:???
>>25
おお!神よっ!!あんた最高だよぉ!
ありがとうと20回ほど唱えました。
これから試してみます!

ところで前回の投稿のあと、cygwinな環境でも試してみようとしたんだけど、
naoya氏とかの解説を読みながら…
んでいきなり、
perl -MCPAN -e 'install Bundle::Catalyst'
すると、「そんなもんない」っていわれました…
なんでppmにあってCPANにないんだろう、とほほ

先日mixiで話題になってた
「perl案件を履歴書に書くと馬鹿にされる件」
でperlが使えないとする理由の一端を知ってしまった気がしたよ
せめてインタフェースくらい変えないでおけないのだろうか
いや、俺が馬鹿だからいけないのはわかってますけど。
0039192006/01/19(木) 14:04:30ID:???
>>34さん、助かります…ほんと、ありがとうです。
このスレさいこーーーーーーー
0040192006/01/19(木) 15:12:42ID:???
無事一通り試せました。
これからもうちょっとドキュメント漁りです。
どうもありがとうございました。

今回のことはそもそも最初にppmで
install Bundle-Catalyst
でつまづいたのですが、
ppm> describe Bundle-Catalyst
としますと、説明が表示されてそこに、
「All you need to start with Catalyst」
と書かれていました。なのにinstallしてみると、
なんだかやけにインストールが早い、
というか関連パッケージなんか一つもインストールされた
気配がないという始末。
案の定catalyst.plなんてどこにも存在しない。

いったいこのBundle-Catalystって何なのだろうか?
0041nobodyさん2006/01/19(木) 18:31:57ID:???
cpan で突っ込むなら Task::Catalyst っぽい。
すでに Bundle::Catalyst って CPAN にないような・・・。

んで、Bundle::なんとか のは、そのなんとかを動かすために必要な
モジュールの一覧を書いただけのもの。
なので、そいつをいれると、必要なモジュールが芋鶴式に入るです。
0042nobodyさん2006/01/19(木) 18:35:19ID:UoYTuFsp
cronで起動するスクリプトとCGIスクリプトの両方から利用している
ライブラリがあり、その中で今どちらから呼び出されているかを知る
必要が出てきたのですが、どのようにするのがよいのでしょうか?

既にいくつものスクリプトから利用しているので引数は変更したくなく、
環境変数で調べられないかと思い以下のようにしてみたのですが、
コメントがないと何の分岐なのか分からないので、もっとズバリの
方法がないかと思い質問した次第です。

if ($ENV{REQUEST_METHOD}) {
  # CGI
} else {
  # not CGI
}

よろしくお願い致します。
0043nobodyさん2006/01/19(木) 18:44:32ID:???
GATEWAY_INTERFACEとか?
0044nobodyさん2006/01/19(木) 18:44:55ID:???
>>42
手元の犬糞環境で cron から printenv を呼んでみた。
cron で呼んだ場合は、なーんもそれっぽい変数出て来ないね。
REQUEST_METHOD で問題ないんじゃないですかね。

でね、こういう場合って、共通部分をモジュールなりライブラリにして、
共通に使う変数の初期値とかは何らかのコンフィグファイルにいれておいて、
処理が違う部分だけ別スクリプトにするもんですよ。

> SHELL=/bin/sh
> PATH=/usr/bin:/bin
> PWD=/home/mona
> SHLVL=1
> HOME=/home/mona
> LOGNAME=mona
> _=/usr/bin/printenv
0045ヽ(´ー`)ノ ◆.ogCuANUcE 2006/01/19(木) 18:47:13ID:???
>>42
基本的にコマンドラインから動かそうが CGI だろうが同じなので、
CGI 用の環境変数で見るしか方法はないかと思うが。

http://hoohoo.ncsa.uiuc.edu/cgi/
$ENV{'GATEWAY_INTERFACE'} にすればいいんでない?

もっとも、コマンドラインか CGI かで動作が変わるライブラリってのが
設計が良くない気がするがね。
0046nobodyさん2006/01/19(木) 18:58:26ID:???
> もっとも、コマンドラインか CGI かで動作が変わるライブラリってのが
> 設計が良くない気がするがね。

そう?
0047nobodyさん2006/01/19(木) 19:11:15ID:???
> もっとも、コマンドラインか CGI かで動作が変わるライブラリってのが
> 設計が良くない気がするがね。

CGI.pmなんか、まさにそうだが・・・
0048nobodyさん2006/01/19(木) 19:13:17ID:???
インターフェイスになるスクリプトを別々に用意して「同じ」だと
分かっているライブラリを安心して使う方がいいと思う。

ライブラリを修正するときにコマンドラインの場合もCGIの場合も
問題なく動くように気にしながらやるのって面倒じゃない?
0049nobodyさん2006/01/19(木) 19:18:25ID:???
確かにそうかも知れないが、

> 既にいくつものスクリプトから利用しているので

何てこともよくある。
0050nobodyさん2006/01/19(木) 19:22:09ID:???
テスト書いてリファクタリング
時間が許さない場合も多いが
やると結構勉強になる
0051nobodyさん2006/01/19(木) 19:46:27ID:???
入力情報をファイルに保存し、そのファイル内に保存された入力データを
読み込み→POSTで他サーバへ送信という流れを要求されたのですが、
そのPOST送信に関しまして「それではSocketでPOST送信します」と
言ったところ、「いや、普通にHTTP通信でPOST送信してください」と
偉い人に言われました。

これの意味がどうしてもわからないのですが、ご教示いただけますと
幸いです。

すみませんが宜しくお願いいたします。
0052nobodyさん2006/01/19(木) 19:49:36ID:???
動作が変わるモジュール ≠ 動作を変えてあるモジュール
0053nobodyさん2006/01/19(木) 19:58:53ID:???
>>51
HTTPを使わないでどうやってPOSTするの?w
独自の転送プロトコルで定めた同名のメソッドとかかいな?
0054nobodyさん2006/01/19(木) 20:01:25ID:???
>>51
Socketとか聞きなれない言葉だったんじゃないの?
つかその偉い人に聞けよ。
0055nobodyさん2006/01/19(木) 20:23:44ID:???
>>51

use Socket; して盛大に車輪の再発明をするエスパーだと思われたんじゃない?
0056512006/01/19(木) 20:29:28ID:???
>>53さん
ご返答有難うございます。
私の中ではSocketが通常のPOST送信方法になっていたので、「普通にHTTP通信で
POST送信」というものがその他のやり方で一般的なものがあると受け止めました。
Perlで他に一般的なやり方があるのでしょうか。
hiddenは使わないとおっしゃってたので、あくまでもPerl側だと思います。
尚、同名メソッド等はございません。

>>54さん
ご返答有難うございます。
偉い人はグループ内の別会社の方で関係が関係ですのでどうしても気軽に聞けません。
そのときに踏み入って聞けなかった自分に反省しております。

>>55さん
ご返答有難うございます。
エスパーだと思われてしまったのでしょうかね。。
納期が近いので逃避と闘っております。。
0057nobodyさん2006/01/19(木) 20:58:15ID:???
>>56
> Perlで他に一般的なやり方があるのでしょうか。

perl でなくとも、ふつーは HTTP 関係のライブラリ使うもんだよ。
その仕事向いてないから、転職をお勧めする。
地面の穴掘ってる方がずっと楽だと思われ。
0058nobodyさん2006/01/19(木) 21:08:03ID:???
>use Socket; して盛大に車輪の再発明をするエスパーだと思われたんじゃない?
ワロタwww
0059422006/01/19(木) 23:24:03ID:???
たくさんのご意見をありがとうございます。
やはり、GATEWAY_INTERFACEやREQUEST_METHODのようなCGIで起動された時に
必ず設定される値で判断するしかないようですね。
(念のためdefinedでチェックしますが、設定されないことってないですよね?)

本当なら環境別にI/Fを分けたかったのですが、それだと呼出し元を全て
変更しなければならず、あまり時間をかけるわけにも行かないので
今回はこの方法で対処したいと思います。

ご回答下さった皆様、本当にありがとうございました。
また何かありましたら、よろしくお願い致します。
0060nobodyさん2006/01/19(木) 23:29:14ID:???
>>59
> (念のためdefinedでチェックしますが、設定されないことってないですよね?)

2ちゃんで人に聞かないと出来ないような仕事なら、その仕事やめればいいじゃん。
0061nobodyさん2006/01/19(木) 23:43:12ID:???
>>47 あれの設計が良いと思うの?
0062nobodyさん2006/01/20(金) 00:02:24ID:???
あれ呼ばわりするならもっと良いもの組めるんだよね。
0063nobodyさん2006/01/20(金) 00:04:00ID:???
自鯖なら Apache で環境変数をセットしてしまうのも手です
0064nobodyさん2006/01/20(金) 01:32:35ID:???
さあ再ループの準備が整ってまいりました
0065nobodyさん2006/01/20(金) 02:32:33ID:???
>>62
当然。組めないの?
0066nobodyさん2006/01/20(金) 02:43:55ID:???
うん、さあ次の質問どうぞ。
0067nobodyさん2006/01/20(金) 02:46:05ID:f2sVrFSn
HTML::Templateについて。

変数をメモリに格納するときに

$template->param(AAA => ['BBB','CCC','DDD']);

ってやって、テンプレートで参照するときって、
いちいちLOOPでまわさないとダメなの?

phpのsmaryみたいな感じで、

<TMPL_VAR NAME=AAA.[0]>

てな感じで使えると楽なんですけど。
ドキュメント読んだ限りでは見つけられませんでした。

なんかLOOP使わなくていい楽な方法ありましたら教えてください。
よろしくお願いします。
0068nobodyさん2006/01/20(金) 02:54:20ID:???
>>57
なんと申しますか、不快にさせてしまいすみませんでした。
まだ1年目なのでもう少し続けさせていただきます。
ご返答有難うございました。
0069nobodyさん2006/01/20(金) 03:26:25ID:???
なんか質問もあれだけど、それに対して煽ったり貶したりだけの人が増えたのかな。
JAPUたんが頻繁に居た、ん年前はよかったなー。
0070nobodyさん2006/01/20(金) 03:28:21ID:???
>>68
まだ具体的なライブラリの名前が出てないから答えておこう
HTTP::Request+LWPで簡単に出来るよ
ttp://homepage3.nifty.com/hippo2000/perltips/LWP.html
ttp://homepage3.nifty.com/hippo2000/perltips/HTTP/Request.html
ファイルを送ったり複雑なリクエストを組むならHTTP::Request::Commonも併用
ttp://homepage3.nifty.com/hippo2000/perltips/HTTP/Request/Common.html

# Larry氏が言うプログラマの三大美徳の「Laziness」ってやっぱり大事だなぁ
0071nobodyさん2006/01/20(金) 03:58:40ID:???
>>67
不可能。所詮、簡易テンプレートなので、凝ったことしたければ TT 使うのが吉。

添字付きでアクセスするぐらいなら、

$template->param(AAA => ['CCC','DDD']);
$template->param(FOO => 'BBB');

した方がいいと思うよ。

>>69
そう思うんなら自分で答えれば?俺は逆に、質問者を諫めたりしないのは嫌いだったがね。
何でもありになってしまったら、長い目で見たら質問する人間にとっても損だよ。
答える人間がいなくなるからな。
0072nobodyさん2006/01/20(金) 08:03:07ID:???
wrap する処理を書いて、せめてループを毎回書かなくていいようにすれば?
0073nobodyさん2006/01/20(金) 11:13:00ID:???
>>67
そのように自分で書き換えたら?
実際の展開のタイミングをどこにするか、ちょっと考えちゃうけど。

0074nobodyさん2006/01/20(金) 11:20:40ID:???
>>67
LOOP用とは別に
AAA0=>'BBB',AAA1=>'CCC'...
を設定しておくぐらいしかないね。
0075672006/01/20(金) 11:59:43ID:+eNmO4sV
みなさん、ありがとうございました。
とりあえずはできないということで諦めます。
あまり時間もないので、1度だけLOOPするかたちでしのぎます。

最近はPHPばかりで、ひさびさにPerlやってるんですが、
フレームワークやテンプレートエンジンとか
良さげのありますか? PHPは少しずつ充実してきてますよね。

ちょっとすれ違いなので、ぱっと挙げて頂ければ
自分で調べてみますので、よろしくお願いします。
0076nobodyさん2006/01/20(金) 12:24:40ID:???
>フレームワークやテンプレートエンジンとか
>良さげのありますか?
>>71がTTと言っているが読んでないのか?こういう奴がいるからスレが荒れるんじゃないのか。

0077nobodyさん2006/01/20(金) 12:27:13ID:2Gzq7A/g
Sledgeはライブドアとともに逝くのでしょうか?
0078nobodyさん2006/01/20(金) 17:16:58ID:???
Apache2.0でCGIを動かす場合、バックグラウンドで子プロセスに重い処理を任せて
親プロセスは戻ってブラウザを開放するということはできないのでしょうか?
Web上で調べたところ、Apache1.3ではできたけど、2.0ではできなくなったとの記述を見かけました。
また、 http://mm.apache.or.jp/pipermail/apache-users/2003-November/003533.html このような
記事も見つけたのですが、自分の環境では子が終了するまで待たされてしまいました。

もしブラウザを開放する方法がありましたら、ご教授願います。
0079nobodyさん2006/01/20(金) 17:20:29ID:???
Perlのコーディングで困ってる人のスレです。
0080nobodyさん2006/01/20(金) 17:26:00ID:???
Perlのコーディングでこれを実現するようなテクニックがあるのではないかと思い
こちらに投稿したのですが、スレ違いだったでしょうか?
0081nobodyさん2006/01/20(金) 18:08:10ID:???
>>80
Perl に限った話じゃないからね。

Apache〜嗜みとして〜 Part3
http://pc8.2ch.net/test/read.cgi/php/1043851302/

CGI: Common Gateway Interface part 13
http://pc8.2ch.net/test/read.cgi/php/1126436361/
0082nobodyさん2006/01/20(金) 21:26:43ID:???
>>78
Ajaxで代用できる希ガス。
0083nobodyさん2006/01/20(金) 21:41:40ID:???
誘導厨って何考えてるんだろう。
0084nobodyさん2006/01/20(金) 22:01:24ID:???
誘導でなくとも日本語不自由な方は御免被る
0085nobodyさん2006/01/20(金) 22:18:00ID:???
>>81
確かに問題の本質はApacheの動作についてだと思います。
しかし、求めているのは「Perlに限って」の解決法であり、ApacheやCGIのスレにいっても
特定の言語についての質問だと言われそうなので、こちらで質問した次第です。

>>82
別に動的なコンテンツを作ろうとしてるわけではないので、Ajaxは少々大げさな気がします。

RSSを複数のサイトから読み込んで、それぞれの最新のものだけを抽出し、更新時間順に
表示する、というスクリプトを作っているのですが、データの処理待ち時間が結構あるのです。
そこで、「データ処理の間お待ちください」といった感じの文を親で表示してからブラウザを開放し
子で処理が終わったら結果を表示、という感じにしたいのです。

スクリプトの本筋とは関係のない、見た目の部分だけのことなので、できないならできないで
一向に構わないのですが、もし方法があるなら…、といった感じです。
0086nobodyさん2006/01/20(金) 22:30:38ID:???
発想が間違ってる。その場合は CGI ではなく別プロセスで収集と
処理をやって、CGI は結果だけを出すべき。
0087nobodyさん2006/01/20(金) 22:58:11ID:???
>>86
どーして、「べき。」なんて言えるんだろう。
0088nobodyさん2006/01/20(金) 23:09:53ID:???
ますますAjaxの方が向いてる希ガス。
RSS読み込み だけ ならAjaxのサンプルで語れるレベル。スレ違いスマソ。
ttp://allabout.co.jp/career/javascript/closeup/CU20050531A/index.htm
0089nobodyさん2006/01/20(金) 23:21:49ID:???
どうして Alax レスポンサープロセスをどうしたらいいかの考えまで
頭がまわらないんだろう。
そもそもクライアントの環境依存度高すぎ。

ああ。WebPr(ry)だからね



まあなんでそういう仕様変更があったのか知らないけど、
逆に正当な理由のある仕様変更があった上で言語依存の回避方法が発見されたら
それはそれでセキュリティホールかなんかの部類に入るのでは?
0090nobodyさん2006/01/20(金) 23:43:25ID:???
>>86
同意。

>>87
想像してごらん。
・100人の人が同時に利用する。
・リロードしまくる人がいる。
・読み込む複数のサイトが100サイトぐらいあったりする。
・鯖落ちしているサイトの反応待ちに3秒程度取られる。

キャッシュしたりして、ある程度対策は取れるけど、
最初からcron等の別プロセスで収集させれば、問題解決。
0091nobodyさん2006/01/21(土) 00:19:27ID:???
適当に煽るだけで、丁寧に正解を書いてくれるスレって素敵。w
0092872006/01/21(土) 00:22:49ID:???
>>91
煽りじゃねーよカスが。
0093sage2006/01/21(土) 03:23:01ID:pqXier51
CGIにこだわるなcron使えってことで
0094nobodyさん2006/01/21(土) 04:28:56ID:???
【ついに】Perl6【公開】
http://pc8.2ch.net/test/read.cgi/php/1060009605/
おまいらついにきましたよ
0095nobodyさん2006/01/21(土) 04:30:22ID:???
>>94
せめて違う板の使おうぜ・・・
0096nobodyさん2006/01/21(土) 10:55:15ID:???
STDINに対してseekを行ってもエラーしか帰ってこないんですが、
STDINに対してseekは無理なんでしょうか?
0097nobodyさん2006/01/21(土) 11:40:12ID:???
>>96
stdinがキーボードの場合を考えればわかる
0098nobodyさん2006/01/21(土) 12:14:39ID:???
出来るわきゃぁない。 ってことですね。
ん〜、組みなおそうorz
0099782006/01/21(土) 20:08:40ID:???
cronというものを知らなかったのですが、調べてみたところまさにこういうものにうってつけ
だと思いました。が、残念ながら今使ってる鯖ではcronは使用できませんでした。

そこで、画像として出力されるCGIをHTMLに仕込んで、アクセスをトリガーにそのCGIを起動し
そこからexecで処理スクリプトを起動するという方法を試してみました。
execはそこで現在のスクリプトを終了して次に飛ぶということなので、そこでブラウザが
開放されるかと思ったのですが、execから呼び出したスクリプトが処理を終えるまで読み込みが
続いてしまいました。

しかし、画像に見せかけたCGIをHTMLの一番最後に持ってくれば、空白画面のままブラウザが固まる
のは回避できるので、とりあえずこれでよしとすることにします。

みなさん、いろいろとアドバイスありがとうございました。
0100nobodyさん2006/01/21(土) 21:33:57ID:???
公開鯖に cron がないなら、自鯖を建てて cron で公開鯖のスクリプトに
アクセスしてあげればいいんじゃね?
0101nobodyさん2006/01/21(土) 22:04:27ID:???
そんな仕事、鯖じゃなくても出来ますからw
■ このスレッドは過去ログ倉庫に格納されています