Perlについての質問箱 30箱目
■ このスレッドは過去ログ倉庫に格納されています
0001デフォルトの名無しさん
2007/03/14(水) 22:54:12"There's more than one way to do it" ということで、Perlの奥深さについて皆で語り合い、追求してまいりましょう。
CGIについての質問は板違いです。WEBプログラミング板でどうぞ。
CGIとPerlの区別がつかない人もWEBプログラミング板に行ってください。
(WEBプログラミング板 http://pc8.2ch.net/php/ )
CGIの質問は答えがPerlと全然関係ない話に帰着する場合が多かったりするのでWEBプログラミング板に行って聞いたほうが得ですよ。
このスレでは(CGI以外の)純粋にPerlのみに関係する質問を取り扱っていこうと思います。
スレ違いの質問にはスルーか、速やかな誘導をお願いします。
http://www.perl.org/get.html
● 2006/12/21現在の最新版: 5.8.8
● 2006/12/21現在の開発版: 5.9.3
前スレ
Perlについての質問箱 29箱目
http://pc11.2ch.net/test/read.cgi/tech/1166708139/
リンク集は>>2-3
過去スレは>>4
0674デフォルトの名無しさん
2007/05/20(日) 22:23:07カレントディレクトリ以下のファイルがすべて消えました!><
0675デフォルトの名無しさん
2007/05/20(日) 22:43:53きもい
0676デフォルトの名無しさん
2007/05/20(日) 22:50:560677デフォルトの名無しさん
2007/05/20(日) 22:55:32>>673をしたらキーボードからどんな文も実行できてしまうよな?
>>674を書いて実行してキーボード触らずにマウスで閉じたら何も起きないよな?
恐怖体験アンビリーバブー
0678デフォルトの名無しさん
2007/05/20(日) 22:56:200679デフォルトの名無しさん
2007/05/20(日) 23:18:110680デフォルトの名無しさん
2007/05/20(日) 23:30:26サブルーチンは、多少汚くても短くまとめたいし。
なんか良いサイト無い?
0681デフォルトの名無しさん
2007/05/20(日) 23:31:390682クロニクル ◆ob60wHXQlc
2007/05/20(日) 23:32:46Build 820 setup
の
CustomsetUP のところでInnstlationErroが出るんです。
初心者なのでわからないことがたくさんあります。
以前XPで何度かインストールしたのですが、VISTAになったとたんできなくて
苦労しております。どうかご教授お願いいたします。
0683デフォルトの名無しさん
2007/05/20(日) 23:34:48一子相伝も特殊技術だから。
0684デフォルトの名無しさん
2007/05/20(日) 23:45:25正規表現使ったほうが早いとかある?
0685デフォルトの名無しさん
2007/05/20(日) 23:48:100686デフォルトの名無しさん
2007/05/20(日) 23:51:35このスレの前の方だけでもいくつかあると思うよ。
過去ログ辿ればもっとあるし。
0687デフォルトの名無しさん
2007/05/21(月) 00:12:00(結城さんではなく回答者が時々アクロバティック)
0688デフォルトの名無しさん
2007/05/21(月) 15:57:0406898
2007/05/21(月) 16:50:18記述?だからと思いPERLの詳しくなればわかると思いこの板にきました。
PERLに強くなるにはなにを学べばいいですか?ラクダ本というのがいいとどっかで
見たのですが間違いないですか?
そもそもCGIを自由に使えるようになるのはPERLを詳しくなっても意味ないですか?
CGIを自由に扱えるようになりたいので勉強の仕方わかる方お願いします。
0690デフォルトの名無しさん
2007/05/21(月) 16:54:260691デフォルトの名無しさん
2007/05/21(月) 16:57:15> CGIについての質問は板違いです。WEBプログラミング板でどうぞ。
> CGIとPerlの区別がつかない人もWEBプログラミング板に行ってください。
> (WEBプログラミング板 http://pc8.2ch.net/php/ )
0692デフォルトの名無しさん
2007/05/21(月) 18:50:54向こうでも相手にされていない件についてw
0693デフォルトの名無しさん
2007/05/21(月) 19:01:22かわいそうだからマヂレスしてあげるよ
勉強しなほうが身のため
06948
2007/05/21(月) 19:01:300695デフォルトの名無しさん
2007/05/21(月) 19:01:4806968
2007/05/21(月) 19:02:41なぜ!?
0697デフォルトの名無しさん
2007/05/21(月) 19:03:4506988
2007/05/21(月) 19:07:37悲しいこと言うなぁ・・
0699デフォルトの名無しさん
2007/05/21(月) 19:08:320700デフォルトの名無しさん
2007/05/21(月) 19:11:060701デフォルトの名無しさん
2007/05/21(月) 19:37:260702デフォルトの名無しさん
2007/05/21(月) 19:39:59CGI を覚えるより何より、ここの使い方をまず真鍋
0703デフォルトの名無しさん
2007/05/21(月) 19:50:230704デフォルトの名無しさん
2007/05/21(月) 21:19:43マジレスするのもどうかと思うが、
CGIを勉強したいならラクダ本よりネズミ本がオヌヌメ。
Perlをきちんと習得したいなら、ラクダ本よりリャマ本をまず嫁。
リャマ→ラクダ→ネズミの順で読むといい。
後はWebProg板逝け。
0705デフォルトの名無しさん
2007/05/21(月) 21:23:4507068
2007/05/21(月) 21:24:520707デフォルトの名無しさん
2007/05/21(月) 21:38:57タダで読めるPerl本
ttp://www.perl.org/books/library.html
ネズミ(初版)
ttp://www.oreilly.com/openbook/cgi/
ただリャマだけは小遣い溜めてでも買うべきだと思うんです
0708デフォルトの名無しさん
2007/05/21(月) 23:06:21ラクダも読み物として面白いけど、Cookbookのほうが実践的なテクニックを身に付けられるんでないかな。
0709デフォルトの名無しさん
2007/05/21(月) 23:57:50なんつーか、その、K○NTクローンが増えても困るっつーか
0710デフォルトの名無しさん
2007/05/22(火) 00:20:380711デフォルトの名無しさん
2007/05/22(火) 00:38:13○ャ○から入って、○○○と○○○○○○○○を併用さ。
ラクダ?○○○○○○c で十分
…中途半端じゃない伏せ字も頭悪い。
0712デフォルトの名無しさん
2007/05/22(火) 00:52:260713デフォルトの名無しさん
2007/05/22(火) 00:56:24> ○ャ○から入って、○○○と○○○○○○○○を併用さ。
ジャバ、コボル、N88BASIC?
> ラクダ?○○○○○○c で十分
わがんね。
本題のほうは「なんでバレバレの伏せ字を使う人がいるのか」が昔から不思議。
0714デフォルトの名無しさん
2007/05/22(火) 01:04:420715デフォルトの名無しさん
2007/05/22(火) 01:08:17あえて理由付けするなら、検索に引っかからないため。
まぁ、やってる方の心理としては○○だと思うがw
0716713
2007/05/22(火) 01:20:11ボケが思いつかなくて「わがんね」でした。手間をかけさせてごめんなさい。
>>715
うーん、検索ですか。なるほど。
でも、△△△にする○○の大半は××なだけなんでしょうね。
0717デフォルトの名無しさん
2007/05/22(火) 01:51:290718デフォルトの名無しさん
2007/05/22(火) 02:37:09useを使用し、下位ディレクトリにあるモジュールを読み込むには
use ディレクトリ名::モジュール名;
なのはどの初級者本にも書いてあるのですが、
上位ディレクトリにあるモジュールの読み込み方が分かりません。
パスはどう書けばよろしいのでしょうか?
0719デフォルトの名無しさん
2007/05/22(火) 03:48:180720デフォルトの名無しさん
2007/05/22(火) 07:22:32十代後半の女オタクの馴れ合いみたいで気持ち悪いよね。
0721デフォルトの名無しさん
2007/05/22(火) 08:20:440722デフォルトの名無しさん
2007/05/22(火) 13:39:110723デフォルトの名無しさん
2007/05/22(火) 15:24:140724デフォルトの名無しさん
2007/05/22(火) 15:43:310725デフォルトの名無しさん
2007/05/22(火) 15:58:390726デフォルトの名無しさん
2007/05/22(火) 16:30:10ありがとうございました。できました。
0727デフォルトの名無しさん
2007/05/22(火) 18:07:33爆笑
0728デフォルトの名無しさん
2007/05/22(火) 18:08:03同じプログラム内で再度、標準入力から取得することは可能ですか?
既存のプログラムに、入力チェックを追加したいのですが、2回目はデータが空になります(当たり前?
一応、seekしてみたのですが、うまく戻りそうにありません
バカな質問している気がしていますが、「そんなことできるワケねぇだろ、バカ」でも良いのでアドバイス下さい
0729デフォルトの名無しさん
2007/05/22(火) 18:11:190730デフォルトの名無しさん
2007/05/22(火) 18:23:30>>1嫁
0731デフォルトの名無しさん
2007/05/22(火) 18:25:33過去に戻れるなんて素敵だぜ
0732デフォルトの名無しさん
2007/05/22(火) 18:26:16すみませんでした
そちらで質問してみます
0733デフォルトの名無しさん
2007/05/22(火) 18:41:44このコメントだけで十分な説明になってるな
0734デフォルトの名無しさん
2007/05/22(火) 19:03:040735デフォルトの名無しさん
2007/05/22(火) 20:34:550736デフォルトの名無しさん
2007/05/22(火) 20:36:070737デフォルトの名無しさん
2007/05/22(火) 20:45:580738デフォルトの名無しさん
2007/05/22(火) 21:49:02起動が多少遅くなるので
別な方法がないか教えてもらえませんか
使用用途としては
下記のようなものです
単にifで分けると モジュール部もすべて読み込むようなので
両方ともないとエラーになりました
evalで囲めばそれっぽくうごきますが
しっくりきません。
#ifdef HOGEHOGE
use HOGEHOGE;
〜〜〜
#else
use HOGEHOGE2;
〜〜〜
#endif
0739デフォルトの名無しさん
2007/05/22(火) 22:51:27UNIVERSAL::require 使えば解決するようなコトじゃないかな?
0740デフォルトの名無しさん
2007/05/22(火) 22:52:13use $ENV{'HOGEHOGE'};
とかして環境変数HOGEHOGEから渡せないかなと思ったがダメだった。
0741738
2007/05/22(火) 22:58:53趣旨的には 740のとおり useだけじゃなくて
汎用的に使える方法がないかと(まぁ -Pで出来るんですがあんまり標準的じゃないような気がして)
目的としては、環境がある程度違っても
ソースを複数管理するのは面倒なので同一ソースで動かしたいです
下記のようなのも出来ると非常に助かります
#ifdef hogehoge
while(1) {
#endif
〜〜〜〜〜
#ifdef hogehoge
}
#endif
0742デフォルトの名無しさん
2007/05/22(火) 23:39:450743デフォルトの名無しさん
2007/05/22(火) 23:41:58かと思ったけどなんか違うよね
0744デフォルトの名無しさん
2007/05/23(水) 00:20:43-P 使うからには、pure perl じゃなく C 関係?
それとも pure perl でホスト毎に挙動を変更したいの?
前者だったら、 Inline::C と後述を噛み合わせて…
後者だったら、ベタだけど Sys::Hostname で hostname ゲットして
BEGIN{if ( $hostname ...){}else{} } あたり?
後者なら、もっとべたべたにソース全般で挙動を分けられるし、
実際やってるけど、前者だったらやろうと云う気にもならぬ。
って素人の口出しすまぬ。
0745デフォルトの名無しさん
2007/05/23(水) 00:29:530746デフォルトの名無しさん
2007/05/23(水) 00:52:02ソコでSys::Hostnameは使っているけど、もっと良い手があれば知りたいものだ
0747デフォルトの名無しさん
2007/05/23(水) 01:16:42その環境変数によってunix系の時と動作変えてる。
0748738
2007/05/23(水) 08:38:37当面の目標としては
PurePerlでmod_perl2(ModPerl::RegistryPrefork)とFastCGIで
同一ソースを使えるようにしたいと思ってます
FastCGI対応にするためには
読み込みモジュールの差し替え(CGI->CGI::Fast)とループ処理が増えるので
738,741のようなことができないかなと思った次第です、
良い方法がないかなと
0749デフォルトの名無しさん
2007/05/23(水) 09:35:25Catalystあたりを参考にしれ
0750デフォルトの名無しさん
2007/05/23(水) 09:49:31Rubyだとわりと簡単にFastCGI対応できるみたい。
Perlでも同じようにできないかな?
既存のCGIを変更無しでFastCGIに
ttp://sugi.nemui.org/wiki/%B4%FB%C2%B8%A4%CECGI%A4%F2%CA%D1%B9%B9%CC%B5%A4%B7%A4%C7FastCGI%A4%CB
0751デフォルトの名無しさん
2007/05/23(水) 09:55:29Catalyst::Engine::FastCGI
http://search.cpan.org/~mramberg/Catalyst-Runtime-5.7007/lib/Catalyst/Engine/FastCGI.pm
CGI::Application::FastCGI
http://search.cpan.org/~naoya/CGI-Application-FastCGI-0.02/lib/CGI/Application/FastCGI.pm
0752デフォルトの名無しさん
2007/05/23(水) 12:07:100753デフォルトの名無しさん
2007/05/23(水) 14:12:31あるファイル(数万行の数字データ)の上から1行ずつ順番に読み込んで
最終行になるとまた1行目に戻って・・・という作業をしたいのです
途中でプログラムを閉じて再開したときも次の行から開始が可能であれば
もう言うことナシですが,残念ながら自分では何とも出来ず
丸2日間ネット上で調べに調べ
srand();
open(FILE, "data.txt");
rand($.) < 1 and $line = $_ while <FILE>;
close(FILE);
$line =~ s/\n//g;
とランダムで1行読み込む仕様で妥協するのが限界でした
もし上記作業がperlで可能でしたら申し訳ないですが
教えていただけないでしょうか
可能な方いらっしゃいましたら どうかお願いします。
0754デフォルトの名無しさん
2007/05/23(水) 14:13:460755753
2007/05/23(水) 14:27:55イカのような感じで半永久的に作業が続くわけでして・・・^^;
print <<"_HTML_";
Content-type: text/html
<html><head>
<meta http-equiv="refresh" content="5; url=aaa.cgi">
0756デフォルトの名無しさん
2007/05/23(水) 14:34:480757デフォルトの名無しさん
2007/05/23(水) 14:38:03とりあえずCGIは置いといて、まずファイルの入力の基本をググって調べればいいんじゃね
0758デフォルトの名無しさん
2007/05/23(水) 14:38:300759デフォルトの名無しさん
2007/05/23(水) 14:47:34イカ=print <<・・、がどこから出て来たかわからん、ってことだよ
0760デフォルトの名無しさん
2007/05/23(水) 14:52:370761デフォルトの名無しさん
2007/05/23(水) 14:54:09以下のように、が、"<meta http-equiv="refresh" content="5; url=aaa.cgi">" を指してるんじゃないの?
大体、何を言わんとしてるかはわかる
0762753
2007/05/23(水) 14:56:30すみません・・・
えーっと
5秒おきにaaa.cgiにアクセスしてIEの画面に数字を順番に
表示させたいだけなんです
753で書いた方法で $line の数値を表示させるだけと言えば
伝わりますかね・・・
0763デフォルトの名無しさん
2007/05/23(水) 15:02:20CookieやURIのクエリ部分だとか、サーバ上のファイルとかメモリとか。
0764デフォルトの名無しさん
2007/05/23(水) 15:02:570765753
2007/05/23(水) 15:05:13どっちか悩んだあげくこっちに書いてしまいました
お邪魔しました
0766764
2007/05/23(水) 15:06:45対象マシンのメモリ可哀想だな。 しかも、IEがそのデータを表示仕切る前に
IE落ちるだろうし、表示仕切る前に5秒経って更新かかるだろうな。
しかも、更新しようにもかなりの負荷がかかってるからモッサリ。
ブラウザクラッシャーでも作ろうとしてるのか?
0767753
2007/05/23(水) 15:10:091行目表示して5秒後には2行目・・・みたいな感じで。
順番に表示されるのを見て 手元のデータと比較していくだけの
単調な作業なんです
0768デフォルトの名無しさん
2007/05/23(水) 15:26:280769デフォルトの名無しさん
2007/05/23(水) 15:56:500770デフォルトの名無しさん
2007/05/23(水) 16:12:49数万行のデータを手元に持ってきてjavascriptで順次表示させた方が増しな気がする。
何行目を表示させているかも、少し離して表示させておけば、中断したときには手書きでメモれば十分だろう。
表示開始行数は引数で与えれば再開できるし。
0771デフォルトの名無しさん
2007/05/23(水) 17:25:550772デフォルトの名無しさん
2007/05/23(水) 17:34:38BEFOREHAND: close door, each window & exit; wait until time.
open spellbook, study, read (scan, select, tell us);
write it, print the hex while each watches,
reverse its length, write again;
kill spiders, pop them, chop, split, kill them.
unlink arms, shift, wait & listen (listening, wait),
sort the flock (then, warn the "goats" & kill the "sheep");
kill them, dump qualms, shift moralities,
values aside, each one;
die sheep! die to reverse the system
you accept (reject, respect);
next step,
kill the next sacrifice, each sacrifice,
wait, redo ritual until "all the spirits are pleased";
do it ("as they say").
do it(*everyone***must***participate***in***forbidden**s*e*x*).
return last victim; package body;
exit crypt (time, times & "half a time") & close it,
select (quickly) & warn your next victim;
AFTERWORDS: tell nobody.
wait, wait until time;
wait until next year, next decade;
sleep, sleep, die yourself,
die at last
# Larry Wall
これどういう意味?暇だったら訳してくれ
0773デフォルトの名無しさん
2007/05/23(水) 17:35:38Excelでも十分かもしれん。
■ このスレッドは過去ログ倉庫に格納されています