68user's page 掲示板

Prev< No. 18> Next  [最新発言に戻る] [過去ログ一覧]
No. 18 # 68user 1998/10/29 (木) 02:55
> ってことで、この部分は全面的に改良して、非圧縮でやるとこを
> 目標としときます。

ん〜、圧縮しないと1MB近くになりますよ。

> なるほど。requireでインクルードしてくるファイルが2つあるので
> pushも二つある訳ですな。

ちゃいます。timelocalはシステム標準のディレクトリ
(/usr/local/lib/perl5/とか/usr/share/perl/など)に
あるので、そのままrequireするだけでOKです。

pushが2つあるのは、このCGIをwww.cs.gunma-u.ac.jpと
www.cc.gunma-u.ac.jpのどちらでも動作させるためのものです。
# まぁあれは僕の環境に合わせるための記述なので、
# 深く考えなくてもいいです。

> timelocal.pl

というわけで、サーバがUNIXならまずそこに置いてあると
思うのですが、一応 http://X68000.startshop.co.jp/~68user/tmp/timelocal.pl
に置いておきます。

> nkfこれが問題。

nkfはコマンドです。まず
    http://X68000.startshop.co.jp/~68user/unix/prgmemo.html#nkf
を読んで、nkfの機能を知ってください。

で、DOSで
    A:\>type hogehoge | more
などとパイプを使ったことあります? これは
more < hogehogeと等価ですよね(多分…DOSは忘れた)。
それと同じで、
    % nkf -e < hogehoge

    % cat hogehoge | nkf -e (UNIXのcat=DOSのtype)
と同じです。

つまり、落としたファイルはSJISなので、nkfを使って
EUCに変換しているわけです。
# ところで、open(IN,"hoge|")とかopen(OUT,"|hoge")
# という意味はわかりますか?

httpdownについてはまた後で書きます。とりあえず、
UNIXで実際にhttpdownを動かしてみるのが一番わかりやすい
ことは確かです。

それからtarですけど、
    tar zxf hoge.tgz = lha e hoge.lzh
    tar zcf hoge.tgz *.shtml = lha a hoge.lzh
という説明ではダメでしょうか。一応
    http://X68000.startshop.co.jp/~68user/unix/prgmemo.html#tar
も読んでください。


> 2つめ…2000年問題!!!

ふふ…、いまだに2000年問題が残ってたら、強者揃いの
UNIXハッカー連中がよってたかって直しにかかるでしょう。

localtimeが返す年は西暦-1900です。2000年なら100を返します。
なんで-1900かっていうと、やはり昔は2000年問題が残っていたので、
それとの整合性を取るためでしょうね。

あと一部のUNIXには2038年問題があります。1970年1月1日からの
経過秒数が、2038年あたりでlongでは表現できなくなるので。

> あぁ、やっぱりラクダ本買わないとだめだな…

別に質問するなって言ってるわけじゃないですけど
(僕がお願いしたんだし)、-wなどマニュアルを見れば
載っていることは手元のラクダ本を調べた方が早いですよ。
僕に聞くと1日かかることも、ラクダ本があれば数分で
片付きます。

あと、過去ログ閲覧用スクリプトも設置する必要がありますが、
そこには
    s|$&|<a href="$toppage_url">$link_message</a>|;
    s|\Q$&\E|$tmp|;
    if ( m|<a href=.*?noteky_base\.cgi.*?>(.*?)</a>| ){
などが出て来ます。

$&、\Q〜\E、.*?など、ラクダ本がないとかなり困ることに
なると思いますので、購入されることをお勧めします。

一応perl5のマニュアルは
    http://www.bekkoame.or.jp/~syunji/perl/man/index.html
にありますが、最初は本で読む方がいいんじゃないかと
思います。

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