68user's page 掲示板

Prev< No. 507〜512> Next  [最新発言に戻る] [過去ログ一覧]
No. 507 # 68user 1999/11/02 (火) 22:04
> WindowsNTでもLinuxと同じようにできるのでしょうか。
Cコンパイラはお持ちですか? あるならソース持ってきてコンパイルすればいいでしょうけど、
コンパイラがないならバイナリインストールすればいいです。

ただ、nkf -m でやるなら テンポラリファイル経由でデータを受け渡したり、
IPC::Open2 などを使わなきゃいけないので面倒です。毎回プロセスを起動しなければ
いけないので重くなりますし。

なので、http://www.cc.rim.or.jp/~ikuta/mime_pls/ を持ってきて
    require 'mimer.pl';
    $data = &mimedecode($data,'EUC');
とした方がいいと思います。
    http://X68000.startshop.co.jp/~68user/cgi-bin/wwwboard.cgi?log=1999-09-16
に書いた MIME エンコードの逆ですね。

No. 508 # ひでさん [E-mail] 1999/11/02 (火) 23:03
突然現れて質問ばかりで申し訳ありません
今一つ教えてください
データーを分割して自動で読み取る為には?
たとえば1000のデータが入った@DATAがあるとします
このデーターを100ずつ順に読み取るには
read,seekを使って読み取る事は、可能だと思いますが
順に100ずつ1000のデータを読み取るにはどのような方法があるでしょうか
よろしくお願いいたします

No. 509 # 68user 1999/11/02 (火) 23:11
> たとえば1000のデータが入った@DATAがあるとします
配列 @DATA に既にデータが入っているのですか? なら splice を
使えばいいでしょう。「100ずつ順に」*何をしたいのか* が
わからないので、これ以上はなんとも言えません。

read/seek は、配列 @DATA が空で、ファイルから @DATA に
読み込むときに使うものです。でもまぁ perl なら、わざわざ
read/seek のような低レベルな関数を使う必要はないでしょう。

No. 510 # ひでさん [E-mail] 1999/11/02 (火) 23:28
ありがとうございます
実は、前の質問と関連がありまして
データーに入ったメールアドレスをBCCで送信する際に
一度に多くのデーターを打ち込むとサーバに負担が掛かると思い
たとえば100ずつ読み込んで送信をしたいというわけなんです
一般的に一度にどれくらいのBCCだったら遅れるんでしょうか?
サーバのレスポンスも関係があると思いますが・・。

No. 511 # 68user 1999/11/02 (火) 23:42
@DATA に1000個入っていて、100ずつ送信したいなら
    while (@DATA){
        @addrs = splice(@DATA,0,100);
        $CC = join(",\n ",@addrs);
        メール送信
    }
でいいです。

でもまぁ、1000 送るならそれなりに時間がかかりますが、負荷がうんぬんと
いうよりは、SMTPサーバが
    DNS(MX)引いて
    相手先に connect して
    SMTP しゃべって
    本文を送る
のに時間がかかる、という感じでしょうか。ほとんどは相手を待ってるだけです。

別に1000個 Bcc が書いてあっても、並行して1000のコネクションを
張るわけではないので(SMTPサーバの仕様にもよりますが)、マシンの
負荷はそんなに気にしなくてもいいでしょう。

それでも1000は多いと思うなら、100ごとに分割すればいいんじゃ
ないんでしょうか。ただしテストは入念にやって下さい。

No. 512 # ひでさん [E-mail] 1999/11/02 (火) 23:50
68userさん
重ね重ねありがとうございます
十分検討&テストしてやってみます
本当にありがとうございます

Prev< No. 507〜512> Next  [最新発言に戻る] [過去ログ一覧]