68user's page 掲示板

Prev< No. 81〜96> Next  [最新発言に戻る] [過去ログ一覧]
No. 81 # 涙… [E-mail] 1999/01/18 (月) 00:24
AppleScript対応したtelnetソフトがないぃぃぃぃ…
ってわけで、ここ1週間ほど、朝6時頃おきて、サーバーに繋いで
コマンド打ち込んで…をくり返す毎日でございます。

ブラウザ上からCGI直接指定して、うまく動かせるようにできんかな…
だったら、毎朝自動的に立ち上げてほっぽっときゃいいし(笑)

No. 82 # ROL [E-mail] 1999/01/18 (月) 00:25
下、ワシの発言です。
つい、名前のとこに「タイトル」を入れてしまった(笑)

No. 83 # ROL [E-mail] 1999/01/20 (水) 12:31
tarでファイルを一つにまとめて出来るファイル(% tar xf〜で指定)を直接いじって大丈夫でしょうか?
ファイルの書き換えが面倒なので「% tar xf〜」で複数のファイルを一つにまとめ、一括して特定の文字列を置換したあと、
元に戻す…ってのをやりたいんですけど?

No. 84 # ROL [E-mail] 1999/01/20 (水) 14:36
すんません、お師さん。
下の質問は無視ぶっこいてください。
実験の結果、だめな事が立証できましたわ。

No. 85 # 68user 1999/01/20 (水) 15:56
file1 file2を
    % tar cf file.tar file1 file2
でfile.tarにアーカイブして、file.tar自体をいじる、ってことですか?

tarファイルはヘッダが付いてますので、一般的には無理です。
が、絶対不可能ってことはないんじゃないかなぁ。
エディタなどでは無理でしょうし、aをbに変換、なんてのは
ヘッダを書き換えてしまう可能性があるのでダメでしょうが、
hogehogehogehogeをfugafugafugafugaに変換、ってのは
たぶんできるんじゃないでしょうか。

とはいえ
opendir(DIR,".");
@files = grep(/file\d/,readdir(DIR));
closedir(DIR);

foreach $file (@files){
    open(IN,$file);
    @buf = <IN>;
    close(IN);
    open(OUT,">$file");
    foreach (@buf){
        s/a/b/g;
        print OUT $_;
    }
    close(OUT);
}
なんてやる方をお勧めします(バックアップを忘れずに)。

# perlにファイル自体を書き換えるオプションがあったかな?

No. 86 # mm 1999/01/21 (木) 03:26
># perlにファイル自体を書き換えるオプションがあったかな?
    perl -pi.bak -e "s/a/b/g;" file[0-9]
では?

No. 87 # 68user 1999/01/21 (木) 05:12
> perl -pi.bak -e "s/a/b/g;" file[0-9]

うーん、簡単ですねぇ。ちなみに僕は最近までオプションは -wと-e
しか知りませんでした。でも最近-cを覚えました(^^;

分厚いマニュアルをめくってオプション調べるより自分で書いた方が
早いんで、なかなか覚えられないんですが、長い目で見るとさっさと
オプション覚えた方がいいんでしょうけどね…。

# 一番悪いのは、青ラクダ本の目次。「オプション一覧」とか
# 「スイッチ一覧」なんて項がない。どこに書いてあるかと
# 言えば「コマンドインタプリタとの協調」。毎回オプション解説を
# 探すのに苦労してます。…ま、言い訳ですな(^^;

> ブラウザ上からCGI直接指定して、うまく動かせるようにできんかな…

CGIはnobody権限で動きますので、CGI経由で作られるファイルは
全て所有者がnobodyとなります。ファイル消せなくなってあわてない
ように(笑)

No. 88 # mm 1999/01/21 (木) 21:29
># 一番悪いのは、青ラクダ本の目次。

青いラクダは、確かに読みづらいですよね。
私の場合、普段は「日本語 perl texinfo バージョン 4.0.19.2」のプレーンテキ
スト版をオンラインマニュアルとしてを使ってます。高尾直弥さんという方の訳
ですが、リファレンス部分は赤いラクダとほぼ同内容だと思います。

ただ、今使ってるものはいろいろイジってて配布条件(GNU)上問題があるのと、
手元にオリジナルが見当たらないので、ちょっと探してみましたが、根性がない
ので↓のようなHTML版しか見つけられませんでした(^^;
    http://www.cec.co.jp/usr/hasegawa/Docs/perl-jman/index.html
でも、どこかに必ずオリジナルのtexinfo やプレーンテキスト版もあると思いま
す(^o^;ゞ

WindowsのヘルプやHTMLよりも、やっぱりエディタで正規表現検索が可能な普通の
テキストが使い易い…

No. 89 # mm 1999/01/21 (木) 22:15
日本語 perl texinfo の1頁ものがありました。
http://main.ipc.fukushima-u.ac.jp/fdai/man/perl.html
テキスト版の前後を<pre></pre>で括っただけなので、ブラウザではちょっとヘンになりますが、
直ぐにテキストに戻せると思います。

No. 90 # 68user 1999/01/24 (日) 00:21
どうもです。早速GETさせていただきました。
これでちょっとは賢くなれる…かな?(^^;

No. 91 # SRM2 1999/01/27 (水) 01:30
はじめまして(^^;
Perl関係で質問なのですが良いでしょうか。
Perlのみで画像(画像ファイル)の生成って出来ないんでしょうか?
いろいろ書けるほど情報が集まってないので、簡単ですがこれで。
よろしくおねがいします。

No. 92 # 68user 1999/01/27 (水) 02:36
はじめまして、SRM2さん(笑)

うっとこの
    http://X68000.startshop.co.jp/~68user/cgi-bin/view-count.cgi?log=sum0+sum1+sum2+sum3
は、flyというプログラムを利用していますが、perl単体で
ということなら、GD.pmというライブラリを使うといいでしょう。
    http://www.genome.wi.mit.edu/pub/software/WWW/GD.html
をどうぞ。英語ですが使い方は簡単にわかるはずです。

No. 93 # 山口 1999/01/27 (水) 18:38
はじめまして、山口といいます。
いきなりの質問で失礼ですが、.forwardの中にメールアドレスを書くと、届いたメールはその書き込んだメールアドレス当てに転送されますが、その時もとのメールアドレスでもみれるようにするにはどうすれば良いでしょうか。
    要するに転送する時に自分のところにオリジナルは置いておいて、そのコピーを転送するというぅような形にしたのですが。
    どなたかアドバイスを下さい。

No. 94 # M.Masuda [E-mail] 1999/01/27 (水) 21:59
はじめまして 68userさん M.Masudaです。

いや〜こちらのページにはじめてよらせていただきましたが
ずいぶんと勉強になります。

先ほど、CGIスクリプト関連をDOWNしたのでこれからおいおい
解析して勉強させていただきます。

にしても、PerlだけでなくUNIXやプロトコル・ネットワーク
関連の情報量には驚くばかりです。
これからも、宜しくお願いします。

ところで本題ですが。

自分で実験してみればいいのでしょうが、ファイルロックの
アルゴリズムには、一般的にflockを採用している物や、ロッ
クファイルを作成してスクリプト自身がロックを管理してい
る物が有りますが、今までの68userさんの経験上どういう手
法が一番効果が高いでしょうか。

あと、下の山口さんの質問は私も興味ありです(笑)
本屋さんでオライリーのsendmailかmailの本でも買って勉強
すればいいのでしょうが、それだけのためにはオライリーシ
リーズは高すぎる!!!
ここでうなずいた方は、沢山いるはず(爆笑)

#68userさんはレスの書込みの時間が遅い(早い?)ですが何
#をしてる方なのでしょうか?

そろそろ中級に足のかかってきた私ですが、宜しく御教授下
さい。

No. 95 # 68user 1999/01/27 (水) 23:27
はじめまして>山口さん、M.Masudaさん

山口さんのユーザ名がhoge、転送したいところがfoo@bar.com
だとしたら、.forwardに
    \hoge,foo@bar.com
と書けばいいです。カンマで区切ることで、複数の転送先を
指定できますから。しかし
    hoge,foo@bar.com
と書いてしまうと、hoge宛に(つまり自分自身)転送されますが、
再度 .forwardが参照されて、またhogeに送ろうとして…という
ふうに、無限ループに陥ります。

つまり、「\」を付けると「.forward を参照するな」という意味に
なりますので、無限ループが防げるわけです。

# ただ「\」を付けなくても、大抵のメールサーバだと数回ループ
# したら止まるでしょうし、最近のsendmailは賢いので一度もループ
# しないかもしれません。でも、念のため \ を付けておいた方が
# いいでしょう。


> 今までの68userさんの経験上どういう手法が一番効果が高いでしょうか。

特に詳しいわけではないんですが、選択肢としては
    1.flock
    2.mkdir
    3.シンボリックリンク
あたりでしょうか。うちのカウンタは3ですし、このBBSは2です。
flockはNFS環境では動かないところもある(動くところもある)
ということで、使ったことは一度もありません。

ただ2も3も、たま〜にロックが残ったままになることはあるんですよね。
でもOSレベルでは完璧に排他処理はできているはずです。
ですから、webサーバがシグナルを送って、CGIのプロセスを止めたとき
にロックが残るのではないかと思うんですが、本当にそうなのか、
どういう状況で起こるのか、などの検証はできていません。

完璧な方法があれば僕も知りたいです(^^;

> #68userさんはレスの書込みの時間が遅い(早い?)ですが何
> #をしてる方なのでしょうか?

ははは、生活リズムが不規則な ただの学生です(^^;

No. 96 # M.Masuda [E-mail] 1999/01/28 (木) 04:19
どうもありがレスとうございます。
.forwardの設定早速指定してみます。

>完璧な方法があれば僕も知りたいです(^^;
そうですか、まだ「これ!」ってセオリーは無いんですね(^^ゞ
今、flyを使ったカウンターを作ってるんですが、残ってしまった
ロックファイルを削除する方法を考えてみます。

今までCUIはDOSしか触った事が無いのでUNIXのTABや矢印キーには
非常に驚き、非常によく作られたUNIXのシステムに感心しています。
おかげでキータッチがだいぶ早くなりました。(^_^)V

この掲示板のタイトルに有る「UNIX,CGI,ネットワークの...」
は、今の私が求めているばかりで、ここは情報の宝庫です。

学生という事は、私よりだいぶ若いのにかなりの知識を持って
いるようで恥ずかしいばかりですが、ぜひまた何かあったら教
えて下さい。m(_ _)m
宜しくお願いします。

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