[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 07/13 10:37 / Filesize : 211 KB / Number-of Response : 804
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:nobodyさん mailto:sage [2008/02/25(月) 19:25:51 ID:???]
Perlのコーディングで困ってる人のスレです。

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

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

最低でも1と3が無いと誰も答えられないよ。
良い回答は良い質問から。一緒に勉強しましょう。

お勧めサイトは >2 以降

前スレ pc11.2ch.net/test/read.cgi/php/1189939783/
過去ログ倉庫 ttp://user.ftth100.com/mirrorhenkan/perl/


346 名前:nobodyさん mailto:sage [2008/04/17(木) 07:21:16 ID:???]
use utf8;
use encoding "utf8";
# ↓UTF8でPOSTされた情報を想定(内部ではワイドキャラクタとして格納されてます)
my $str = '%E8%8C%B6%E6%B1%B2%E5%85%BC%E9%9B%91%E7%94%A8%E4%BF%82';
utf8::encode($str); # 一旦UTF-8フラグを落として
# ↓URLデコード(今回$strに+はないのでそのへんは省略)
$str =~ s/%([0-9A-Fa-f][0-9A-Fa-f])/pack("H2", $1)/eg;
utf8::decode($str); # UTF-8フラグを付け直す

347 名前:nobodyさん mailto:sage [2008/04/17(木) 09:58:36 ID:???]
>>345,>>346
> # ↓UTF8でPOSTされた情報を想定(内部ではワイドキャラクタとして格納されてます) 
> my $str = '%E8%8C%B6%E6%B1%B2%E5%85%BC%E9%9B%91%E7%94%A8%E4%BF%82'; 
それデコードしたら、バイナリ(utf8フラグoff)のUTF-8文字列。

とりあえず、use utf8;とuse encoding "utf8"を外して、そのままprintしてみ。

ちゅうか、use utf8 とuse encoding "utf8"両方してる意味がわからん。

348 名前:nobodyさん [2008/04/17(木) 14:34:42 ID:FD3bsXbG]
>>345です
解決しました。情報に感謝します。
>>346の内容を、Encode::〜でやりました。
こういうのって結構な落とし穴ですね。フラグのことはわかっているつもりでしたが……

349 名前:nobodyさん [2008/04/17(木) 20:17:29 ID:2zzFnXWL]
教えて君でスマンが、分かる人がいたら助けて。

CGI::Applicationパッケージを使っているんだけど、
param() 関数で、数字だけの長い「文字列」を受け取ると
数値リテラルとして、しかも丸められた値が返されちゃうんだけど、
文字リテラルとしてそのまま受け取れるよい方法ないかな?

350 名前:349 mailto:sage [2008/04/17(木) 22:21:21 ID:???]
自己レスです。
CGI.pmにまでさかのぼって調べた結果、
query()->param()は文字リテラルで返してました。
自分が書いた、表示する際の処理のバグでした。orz

351 名前:nobodyさん [2008/04/18(金) 00:03:02 ID:qXgVgrBZ]
いつもすみません。
自分で作ったhash refの配列がデリファレンスできません。
$array[0]->{key}
$array[0]{key}
${$array[0]}->{key}
とか書いてみましたが様々なエラーが出ました。どう書いたらいいですか?

352 名前:nobodyさん mailto:sage [2008/04/18(金) 00:07:12 ID:???]
すみません。問題を取り違えていました。デリファレンスはできてました。
ソートをしようと思い、下記のように書いたらhash refを配列扱いするなと言われます。
my @sorted = sort {$array[$b]->{score} <=> $array[$a]->{score}} @array;
よろしくお願いします。

353 名前:nobodyさん mailto:sage [2008/04/18(金) 00:20:08 ID:???]
ものすごく勘違いしてました。こういうことでした。
my @sorted = sort {$b->{score} <=> $a->{score}} @array;


354 名前:nobodyさん mailto:sage [2008/04/18(金) 10:01:49 ID:???]
そういうときもあるよ



355 名前:nobodyさん [2008/04/18(金) 18:42:42 ID:J/rLxrZJ]
前に2項分布について質問した者ですが、
これだけでも教えてくれると助かります…。
1.#INF の意味はなんですか?インフィニティ?
検索しても#は検索対象にならないらしく、
*.INFの設定ファイルや関係無いものが出て来るばかりで…。

356 名前:nobodyさん mailto:sage [2008/04/18(金) 19:06:45 ID:???]
知らんがな

357 名前:nobodyさん mailto:sage [2008/04/19(土) 09:40:11 ID:???]
インフォメーションじゃね?
それかインフォーラム
もしくはインフェルノ

358 名前:nobodyさん [2008/04/19(土) 12:48:02 ID:n4AN2xdT]
www.semblog.org/wiki/?rna で配布されている、
RNAというアンテナソフトを使っています。
すでに動作してるのですが、summary部分のhtmlタグを除去したいと思います。

www-kasm.nii.ac.jp/~i2k/tmp/rna/rss/recent_entry.html
のようにRSSを取得してくるCGIなのですが、
summary部分にhtmlタグが残ってしまいます。

ATOMやRSS2.0などでしょうか、
Yahoo!やexcite等RSSにhtmlタグが入ってるサイトを巡回すると
htmlタグが入ってしまいます。

template/recent_template には
<div class="summary">
<$RNAItemDescription$>
</div>
となっており、そのあたりを作ってると思われる
lib/RNA/AntennaTree.pmの1029行目、

my $encoded_descript = encode($item->{channel}->{description});

の後に

my $encoded_descript =~ s/<.*?>//g;
を追加してみたところ、サマリー部分がなくなってしまいました。

開発がストップしてるCGIなので、なんとか改造して使い続けたいと思っています。
どうかご教示願います。

359 名前:nobodyさん mailto:sage [2008/04/20(日) 00:00:52 ID:???]
いくら何でも冷たすぎじゃないかお前ら。

>>355
備長炭 自殺方法 でぐぐれ。それでダメなら二項分布 オーバーフローとか。

360 名前:nobodyさん mailto:sage [2008/04/20(日) 01:46:25 ID:???]
>>358
現物ソース確認したわけじゃないけど
ttp://naoya.dyndns.org/~naoya/mt/archives/000611.html
の下の方にある remove_html を試してみたらどうかな。

361 名前:nobodyさん mailto:sage [2008/04/20(日) 02:10:18 ID:???]
>>358
そのモジュールについては詳しくはわからないけど、もともとのソースをいぢるんじゃなくて、
それが吐き出したものを、自前で書き換えればいいんじゃね?

362 名前:nobodyさん mailto:sage [2008/04/20(日) 02:30:50 ID:???]
元のコード見なくても

> my $encoded_descript = encode($item->{channel}->{description});
> の後に
> my $encoded_descript =~ s/<.*?>//g;
> を追加

って書いてるんだから

my $str = "<strong>大切な</strong>文書";
my $str =~ s/(.)/$1/g; # 行頭の何かが余計
print length($str);

こういうことじゃないの。

363 名前:nobodyさん mailto:sage [2008/04/20(日) 16:44:58 ID:???]
ヒアドキュメント内でハッシュリファレンスを使う場合はどのようにすればよいのでしょうか?

$text =<<EOL;
name = $h->{'name'}
mail = $h->{'mail'}
EOL

とやっても変数が展開されません。
仕方ないのでハッシュにデリファンスしてますが、
方法があったら教えてください。

364 名前:nobodyさん mailto:sage [2008/04/20(日) 17:36:03 ID:???]
本当はシングルクォートで括ってね?



365 名前:nobodyさん [2008/04/20(日) 20:52:48 ID:tHisgd6U]
オリジナルの携帯サイトアクセスランキングを作っています。

OUTをカウントするためなんすけど、アンカーから自前のCGIページを通過させてリンク先を表示させるにはどうすればいいですか?


366 名前:nobodyさん mailto:sage [2008/04/21(月) 00:00:18 ID:???]
自前のCGIページを通過させるアンカーを出力すればよいと思います。

367 名前:nobodyさん mailto:sage [2008/04/21(月) 18:56:21 ID:???]
>>363
my $h = {name=>'john', mail=>'john@example.net'};
my $text =<<EOL;
name = $h->{'name'}
mail = $h->{'mail'}
EOL
print $text;

こんな感じ。

368 名前:358 mailto:sage [2008/04/23(水) 09:11:49 ID:???]
>>360, >>361, >>362

ありがとうございます。
remove_html、使いたいのですが使い方がわかりません...

# naoya.dyndns.org/~naoya/mt/archives/000611.html
sub remove_html {
my ($str) = @_;
my $ret;
if (defined $str) {
my $p = HTML::TokeParser->new( \$str ) or die "$!";
do {
my $plain = $p->get_text;
$ret .= $plain;
} while (my $token = $p->get_tag);
}
$ret;
}

を lib/RNA/AntennaTree.pm の最下部に追記して、
my $encoded_descript = encode($item->{channel}->{description});
の後に見よう見まねで
my $encodec_descript = &remove_html();
としてみましたが変わらずでした。

369 名前:nobodyさん mailto:sage [2008/04/23(水) 12:47:07 ID:???]
m_unit.plというライブラリがほしいんですがググっても出てきません
どこで手に入れる事ができるでしょうか?

370 名前:nobodyさん mailto:sage [2008/04/23(水) 13:05:00 ID:???]
>>369
ググっって出てくる奴とは違う物?

371 名前: mailto:sage [2008/04/23(水) 13:08:34 ID:???]
ごめんなさい間違えました(><)

372 名前:nobodyさん mailto:sage [2008/04/24(木) 18:43:40 ID:???]
ABCXXXDEF
という文字列から
ABCとDEFを削除してXXXのみを表示させたい場合はどうすればよいのでしょうか?

$moji = ABCXXXDEF;
$ans = $moji からABCとDEFを削除;

print "$ansです\n"

という具合でいいんでしょうか?
このABCとDEFを消す処理の部分がわかりません。

373 名前:nobodyさん mailto:sage [2008/04/24(木) 18:47:46 ID:???]
$moji =~ tr/ABCDEF//d;
print $moji;

374 名前:nobodyさん mailto:sage [2008/04/24(木) 18:48:17 ID:???]
>>372
$moji =~ s/ABC|DEF//g;
$ans = $moji



375 名前:nobodyさん mailto:sage [2008/04/24(木) 18:50:21 ID:???]
>>373>>374
ありがとうございました。
助かります。

376 名前:nobodyさん [2008/04/26(土) 13:15:07 ID:flUVuiqJ]
basenameでファイル名を取り出したいのですが、ブラウザが動いているOSの種類によって、
区切りが/であったり\であったりとまちまちです。
perlはLinux上で動いているので、デフォルトでは、/で区切られている場合しか、ファイル名を取り出せません。
\で区切られている場合でも、取り出せるようにするにはどのようにしたらよいのでしょうか?
fileparse_set_fstypeでMSWin32を指定してしまうと今度は、Unixからアクセスしてきた場合にうまくいきません。


377 名前:nobodyさん mailto:sage [2008/04/26(土) 13:19:19 ID:???]
んなもんアクセスしてきたOSの種類で使いわけりゃいい話だろボケ
こんなもん中学生でも分かるぞカス死ね

378 名前:nobodyさん [2008/04/26(土) 16:13:45 ID:flUVuiqJ]
もしブラウザがOSに関する情報を送ってこなかったらどうすればよいのでしょうか?

379 名前:nobodyさん mailto:sage [2008/04/26(土) 16:23:13 ID:???]
>>378
ファイルの有無を判断して、
どっちのデリミタで切るか、
判断したら?

380 名前:nobodyさん mailto:sage [2008/04/26(土) 17:01:10 ID:???]
アクセスしてきたOSは関係ない。
Perlが動いているサーバーのOSが関係する。
そして、basenameは動いているOSによって区切りを/か\か自動的に
判断してくれるので便利に使える。
サーバーがWindowsでもLinuxでもbasenameは正しく動いてファイル名を取り出せる。
取り出せない場合は、何か別の原因。

381 名前:nobodyさん mailto:sage [2008/04/26(土) 19:45:43 ID:???]
type=fileで送られてくるファイル名の話じゃないのか?

382 名前:nobodyさん [2008/04/26(土) 21:48:20 ID:vQRq4Omz]
だいたいみなさんの、perl普通にコード書き込みできるまでに要した
時間と日数おしえてもらえませんか?時間とか1日何時間くらいしてます?

383 名前:nobodyさん mailto:sage [2008/04/26(土) 22:09:54 ID:???]
意味が。

384 名前:nobodyさん mailto:sage [2008/04/26(土) 22:14:17 ID:???]
>>382
もっと、日本語を勉強した方がいいよ



385 名前:nobodyさん mailto:sage [2008/04/26(土) 22:49:57 ID:???]
>>382
皆さんは「週何日、1日当たり何時間」なんていう時間割みたいな方式で
取り組んできたわけじゃないので、そういうのはよくわかんないのです。
そりゃ、そんな方式で堅苦しく取り組んできた人もいるかもしれないけど。

あなたが今までにちんちんを何ストロークしてきたかが不明なのと似てます。

386 名前:nobodyさん [2008/04/27(日) 00:52:54 ID:G3KB/HmG]
mod_rewriteでURLを書き換えた時に%2Fがあると404エラーになってしまうので
スラッシュをURLエンコードさせたくないのですが、可能でしょうか?どなたか助けてください・・
p://example.net/dir/index.cgi?name=<em>hoge</em>
このように、どうしてもタグが含まれてしまうURLなので困ってます。

見るからに初心者ですが、どうかよろしくお願いします。

387 名前:nobodyさん mailto:sage [2008/04/27(日) 01:20:29 ID:???]
>>386
不可能。

388 名前:386 [2008/04/27(日) 02:55:07 ID:G3KB/HmG]
>>387
そうですか・・
諦めて他に方法がないか試行錯誤してみます
ありがとうございました。

389 名前:nobodyさん mailto:sage [2008/04/27(日) 23:26:09 ID:???]
>>382
10時間ぐらいかな。
もっとも、Perl以前にawk, sed, C
などの下地があったわけだが。

390 名前:nobodyさん mailto:sage [2008/04/27(日) 23:35:33 ID:???]
普通がどの程度か全く分からないけど、とりあえず動く掲示板を作るのに1日1〜2時間ほど
コード書いて1週間かかった気がする

そんな自分は C (すっかり書けないけど、ポインタで躓くまでは書いてた)、VB (アプリをいくつか作ってた) の経験ありです。

391 名前:nobodyさん mailto:sage [2008/04/27(日) 23:39:03 ID:???]
Perlでバッチ処理を書くのはすぐ出来るけど、
Webアプリ(cgi)は時間がかかると思う。

392 名前:nobodyさん mailto:sage [2008/04/27(日) 23:44:48 ID:???]
そんな貴方にCGI.pmですよ

393 名前:nobodyさん [2008/04/30(水) 17:01:56 ID:9OxUbc+M]
あの、乱数についてなのですが、100~150までの間でランダムな数をスカラー変数に格納するにはどうすればいいでしょうか?

394 名前:nobodyさん mailto:sage [2008/04/30(水) 17:13:24 ID:???]
my $rndnum = rand(51) + 100

rand(51)
0 〜 51 未満を生成 (未満は 51 を含まないので 50 以下の数字が現れる)

+100
下限値である 100 を加えてやる


以上



395 名前:nobodyさん mailto:sage [2008/04/30(水) 17:14:49 ID:???]
int

396 名前:nobodyさん mailto:sage [2008/04/30(水) 17:19:40 ID:???]
my $rndnum = int(rand(51)) + 100;

397 名前:nobodyさん mailto:sage [2008/04/30(水) 17:19:49 ID:???]
忘れてたw
>>395
thx

my $rndnum = int(rand(51) + 100);


398 名前:nobodyさん mailto:sage [2008/04/30(水) 18:11:00 ID:???]
>>393の質問ではintなしの>>394が正解とすべきなんじゃないか?
質問者の質問が悪いところまでフォローして手取り足取りするのが役目?

399 名前:>>393 [2008/04/30(水) 18:26:54 ID:9OxUbc+M]
皆さんどうもありがとうございます。
確かに>>398さんの言うとおりです。わざわざフォローして下さった親切なお二方に感謝します。

400 名前:nobodyさん mailto:sage [2008/04/30(水) 18:38:47 ID:???]
すいません。
どうも下記例のforeachのループの中で、さらにwhileのループを
回せないのですが、たぶん簡単な理由だとは思うのですが、
お助け下さい。

他にもこのようなforeachのループの中で、foreachのループも回せないと
思います。

foreach $number(@number){


while (<F2>) {
print "$number\n";
if (/$number/)
{
print "マッチしました\n";
print F3;
}
}
}

401 名前:nobodyさん mailto:sage [2008/04/30(水) 19:09:01 ID:???]
>>400
<F2>で同じ行数を複数回とりだしたい感じ?
だとしたらヒント:seek

402 名前:nobodyさん mailto:sage [2008/04/30(水) 19:10:23 ID:???]
>>400
1回目のforeachが終わったときに<F2>が空になる

403 名前:nobodyさん mailto:sage [2008/04/30(水) 19:48:00 ID:???]
whileに入る前に開きなおすのも手だな

404 名前:nobodyさん [2008/04/30(水) 20:17:59 ID:GavbPT5W]
一回目のループで開いてるファイルのファイル位置が終端にあるため
2周目はファイルを読み込むループが発生しません

解決法は2つ
・While の直前でファイルを開くようにする
・While の直前で seek を使ってファイル位置を先頭に戻す
です。
負荷は後者の方が幾分か軽いです



405 名前:nobodyさん mailto:sage [2008/04/30(水) 20:28:06 ID:???]
my @lines = <F2>;

場合によってはこれもありかなと思った。無駄にメモリ食うけど。

406 名前:nobodyさん mailto:sage [2008/04/30(水) 20:47:41 ID:???]
whileの中でforeachじゃ駄目なん?

407 名前:400 mailto:sage [2008/04/30(水) 23:43:57 ID:???]
すいません。seekというのは初めて知りました。
1回目のforeachが終わったときに<F2>が空になる ってマジですか。
例のループにseekを追加して、動くようにしていただけませんか?
お願いします。

408 名前:nobodyさん mailto:sage [2008/05/01(木) 01:39:53 ID:???]
>>400
初めてのPerlと続・初めてのPerl買えばいいよ。

409 名前:nobodyさん mailto:sage [2008/05/01(木) 12:48:54 ID:???]
コストの高い I/O をメインにループさせたほうがいいっすね

open(F2, "hoge.txt");
while (<F2>) {
  foreach $number(@number){
    〜
  }
}

close(F2);


410 名前:nobodyさん mailto:sage [2008/05/01(木) 13:18:21 ID:???]
>>407
自分でやれ。
できないなら金払って業者つかえ。
代行するところじゃなく、自分で作るためのヒントを与えるところだ。
ここまでヒントがそろったらあとは調べながらできる。

411 名前:nobodyさん mailto:sage [2008/05/01(木) 13:51:56 ID:???]
あとね、初心者なんだから記述を略すな
ちゃんと意味がわかってから略すように汁

412 名前:400 mailto:sage [2008/05/01(木) 23:38:01 ID:???]
>409 Thx 明日試してみます。seek(F2, 0, 0)では動かなかった。
>410 GW中くらい、自宅警備を止めてみたら?
>411 省略ハァ? 汁?

413 名前:409,411 mailto:sage [2008/05/01(木) 23:46:36 ID:???]
そういう口調ならてめぇで解決しろよ能無しチンカス糞野郎

414 名前:nobodyさん mailto:sage [2008/05/02(金) 00:07:00 ID:???]
> 省略ハァ? 汁?
ワロタ



415 名前:nobodyさん mailto:sage [2008/05/02(金) 05:46:04 ID:???]
まあ、なんだ
「ものを学ぶ姿勢」ってやつを身に着けないと成長できないよね

416 名前:nobodyさん mailto:sage [2008/05/02(金) 08:12:32 ID:???]
きっとこの人はこれからさきの人生も困ったら自分の力で解決しようとせず人を頼りにして生きていくんだろうな。
これ10代だったら笑って流せるけど、20代以上で本気で言ってたら深刻ww

417 名前:nobodyさん mailto:sage [2008/05/02(金) 10:22:44 ID:???]
定期的に沸くから慣れろwww

418 名前:nobodyさん mailto:sage [2008/05/02(金) 10:32:20 ID:???]
自分の書いてるのが略記だって事すらも気がついてないんだろうな

あと、これはおそらくは宿題だなw

419 名前:nobodyさん mailto:sage [2008/05/02(金) 11:18:57 ID:???]
延々と質問者を叩く・・・キモッ
とっくに質問者は消えてることに気づけよ禿げ

420 名前:nobodyさん mailto:sage [2008/05/02(金) 12:28:02 ID:???]
>>419
僕の予想が確かなら、質問者なら君のパソコンのモニタの前に居るよ。

421 名前:nobodyさん mailto:sage [2008/05/02(金) 12:37:17 ID:???]
>>420
はぁ?俺か?
ちゃうっちゅーねん
あほか

422 名前:nobodyさん mailto:sage [2008/05/02(金) 13:12:28 ID:???]
ノリが一緒でわろたwww

423 名前:nobodyさん mailto:sage [2008/05/02(金) 13:34:20 ID:???]
お前の粘着っぷりのほうがおもろい
医者いったほうがええんちゃうかw
リアルでアレかw

424 名前:nobodyさん mailto:sage [2008/05/02(金) 13:43:58 ID:???]
日本語が変でござるよ



425 名前:nobodyさん mailto:sage [2008/05/02(金) 14:15:25 ID:???]
ネット上での似非関西弁って餓鬼が凄む時に巻き舌になるのに似てる

426 名前:nobodyさん mailto:sage [2008/05/02(金) 14:47:41 ID:???]
それは言わないのが優しさだったのに・・・

427 名前:nobodyさん mailto:sage [2008/05/02(金) 15:08:52 ID:???]
質問者以外が必死になる理由が見つからない

428 名前:nobodyさん mailto:sage [2008/05/02(金) 18:44:35 ID:???]
ぼくが一番、perlをうまく操れるんだ!

429 名前:nobodyさん mailto:sage [2008/05/02(金) 23:07:56 ID:???]
>>427
思い込み激しいとか言われへん?
回りに迷惑かけても気づかないタイプだな
回答もしないのに罵倒するのはお前だけやろ
頭変すぎてわからんかw

430 名前:nobodyさん mailto:sage [2008/05/02(金) 23:28:43 ID:???]
>>429
そんならお前が回答してやれよ。 出来るもんなら。www

431 名前:nobodyさん mailto:sage [2008/05/02(金) 23:45:27 ID:???]
>>429
なんでそんなに必死なん?

432 名前:nobodyさん mailto:sage [2008/05/02(金) 23:59:11 ID:???]
GWで暇なんだろ

433 名前:nobodyさん mailto:sage [2008/05/03(土) 02:50:47 ID:???]
GW、通勤とか会社の中とか人が少なくていいよね。

434 名前:nobodyさん mailto:sage [2008/05/03(土) 03:07:39 ID:???]
いいですよね。客からの電話も鳴りませんし。



435 名前:nobodyさん mailto:sage [2008/05/03(土) 10:04:09 ID:???]
泣いてませんか?

436 名前:nobodyさん mailto:sage [2008/05/03(土) 18:44:15 ID:???]
内線もならないよね。

437 名前:nobodyさん mailto:sage [2008/05/03(土) 19:02:10 ID:???]
でもトイレに花子さん居るよね。

438 名前:フー子 [2008/05/04(日) 19:36:48 ID:798fbSDd]
Perl の CGI::Base とか CGI::Request モジュールって、
何のためにあるの?どうやって使うの?

439 名前:nobodyさん mailto:sage [2008/05/04(日) 19:50:31 ID:???]
>>398
初心者質問スレで何言ってるんだ。

440 名前: ◆TWARamEjuA mailto:sage [2008/05/04(日) 20:01:51 ID:??? BE:3267465-2BP(7082)]
>>438
君かわいいね。

・・・ぶつ森のスレかとオモタorz...

ttp://search.cpan.org/~mrjc/cvswebedit-v2.0b1/cvs-web/lib/CGI/Base.pm
ttp://search.cpan.org/~mrjc/cvswebedit-v2.0b1/cvs-web/lib/CGI/Request.pm
を眺めてみればよろしいかと。

例文を眺めればだいたい何がしたいのかが見えてくるかと。
英文は無理に読まなくてもよろしいかと。

441 名前:nobodyさん mailto:sage [2008/05/04(日) 20:22:15 ID:???]
pmという拡張子、ガクブル

442 名前:nobodyさん [2008/05/05(月) 14:08:42 ID:GD7pTJpy]
CGI掲示板を自作していますが、書き込み送信メールのSendmailによる送信処理でつまづきました。

以下のように記述すると、管理人である自分には登録メールが送られますが、
管理人以外に、書き込みした人にも登録確認メールが送られるようにしたいんです。

#Sendmailによる送信処理
if (open(MAIL,"| $sendmail -t")){
print MAIL "X-Mailer:legend2\n";
print MAIL "To: $administrator\n";
print MAIL "Errors-To: $administrator\n";
print MAIL "From: $administrator\n";
print MAIL "Subject: $subject\n";
print MAIL "MIME-Version: 1.0\n";
print MAIL "Content-type: text/plain; charset=ISO-2022-JP\n";
print MAIL "Content-Transfer-Encoding: 7bit\n";
print MAIL "$mail_comment\n";
print MAIL "\n";
close(MAIL);
}
}

以下のどれかを使うのでしょうか?

print SENDMAIL "From: $sender <$from>\n";
print SENDMAIL "To: $to\n";
print SENDMAIL "Cc: $cc\n";
print SENDMAIL "Bcc: $bcc\n";


どうすれば良いか御教授下さい。宜しくお願いします。



443 名前:nobodyさん mailto:sage [2008/05/05(月) 14:20:17 ID:???]
>>442
# CGIは板違いだが、この処理自体はCGIと関係がないので。
if文のブロックを、Toヘッダだけ「書き込みした人」のアドレスにしてもう一度処理するか、
Toを「書き込みした人」のアドレス、CcまたはBccを「管理人」のアドレスにするか。

Errors-Toヘッダはobsoluteだった気がします。
envelopeアドレスを指定するべし。sendmailに-fオプションに続けてアドレスを指定する。
ttp://sonic64.com/2004-11-07.html

444 名前:nobodyさん mailto:sage [2008/05/05(月) 16:36:56 ID:???]
つーか、今時、open(MAIL,"| $sendmail -t")やErrors-To:とか前世紀に
書かれた古文書を元にCGI作るな。めーわくだ。



445 名前:nobodyさん mailto:sage [2008/05/05(月) 18:19:44 ID:???]
批判だけならゾウリムシにもできる
例文または参考 URL ぐらい提示すればいいじゃない

446 名前:nobodyさん mailto:sage [2008/05/05(月) 19:20:18 ID:???]
ただでは断る。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<211KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef