Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: tar.pl 作成



寺西です。

Yukio USUDA wrote:
> 
> 4桁とるつもりでしたが間違っていますね。バグです。
...
> 'NMZ.zip' . substr("000$depth", -4)
> ですね。

あぁ、第二引数を -4 にすればよかったのですね。
 
> でも、ユニークな名前がつけばいいだけでソートする必要もないし
> 単に 'NMZ.zip' . $depth でよいです。

NMZ.zip 自体は他のフィルタでも使っているし、それらのフィルタで
今後テンポラリを増やす際に、安易に NMZ.zip2 とか作っちゃうかも
しれません。(ついうっかり)
ですから 4桁なのは良いのではないかと思います。(4桁もあれば問題
ないだろうし。)

また、どれくらい深い層になるのかわかりませんが、初期値を乱数に
すると、深い層でもループ回数が少なくなるので、以下のように
修正しようかと思います。

    my $depth = int(rand(10000));
    my $tmpfile;
    do {
        $tmpfile = util::tmpnam('NMZ.zip' . substr("000$depth", -4));
        $depth++;
    } while (-f $tmpfile);

なお、$depth が 10000 を超えても、下4桁取るので 10000 の余りを
取る処理は入れていません。
# もはや depth ではないので、変数名は変えるべきかな。
-- 
=====================================================================
寺西 忠勝(TADAMASA TERANISHI)  yw3t-trns@xxxxxxxxxxxxxxx
http://www.asahi-net.or.jp/~yw3t-trns/index.htm
Key fingerprint =  474E 4D93 8E97 11F6 662D  8A42 17F5 52F4 10E7 D14E