68user's page 掲示板

Prev< No. 1041〜1048> Next  [最新発言に戻る] [過去ログ一覧]
No. 1041 # 68user 2000/08/01 (火) 01:12:43
僕の回答を再掲します。
> OS 名と、Netscape をどうやってインストールしたか
ちゃんと読んでますか?

あと、原因の切り分けを行ってください。~/.Xdefaults の
各行をコメントアウト (リソースのコメント開始は `!' )
して動けば、原因はリソースなんでしょう。rm -rf ~/.netscape
して動けば、原因は netscape の設定ファイルがおかしくなって
しまったんでしょう。

No. 1042 # 68user 2000/08/01 (火) 01:14:56
> TCP データグラム
TCP セグメントでした。

No. 1043 # yuji 2000/08/02 (水) 09:15:28
どうも、ご無沙汰しております、yujiです。(^^)
今、指定されたディレクトリ以下のファイル一覧を表示させたい、
と考えているのですが、再帰関数を使った場合、
ファイルハンドルがグローバルのため、値の上書きになって
しまい、うまくいかないようです。ローカルなファイルハンドルというのは、できるんでしょうか?myやlocalで試してはみたのですが。(^^;
なにかよい方法は、ないでしょうか。

また、$home/$fileのカタチで出力する場合、どのようにするのがよいでしょうか?
"$home/$file"とすると、/$で変数ではなく文字として解釈されると
思うのですが。"$home/".$fileとして逃げたりしているんですが。(^^;
こちらのほうでも、別の方法などありましたら、よろしくお願いします。

#!/usr/bin/perl

GetFiles(".");
exit(0);

sub GetFiles(){
local($dir)=@_;

print "In $dir\n";
opendir(DIR,$dir);
while($file=readdir(DIR)){
    if(-d $file && $file ne '.' && $file ne '..'){
    &GetFiles($file);
    }else{
    if($file ne '.' && $file ne '..'){print "$file\n";}
    }
}
close(DIR);
}

No. 1044 # B-MAX [E-mail] 2000/08/02 (水) 09:19:37
@68user様
ご回答、ありがとうございました。
もう少しTCP/IPについて勉強してみます。

No. 1045 # 68user 2000/08/02 (水) 09:52:14
    local(*DIR);
とします。なお、ハンドル DIR だけでなく $DIR も @DIR も %DIR も
全て localize されます。あるいは
    $handle = 'unique string';
    opendir($handle,'.');
とか。あと、こういう疑問が出てくるなら、
    http://www.oreilly.co.jp/BOOK/adperl/
をお勧めしておきます。

> "$home/$file"とすると、/$で変数ではなく文字として解釈される
/$ でも問題ないです。\$ と勘違いされてませんか?

No. 1046 # yuji 2000/08/02 (水) 11:41:15
すばやいお返事、どうもありがとうございました。
おかげさまで、うまくいきました。(^^)
書籍の情報、参考にさせていただきますので。
そうですね。すいません。(^^; >勘違い
スラッシュとバックスラッシュを使っていまして。

FTPで、指定したディレクトリ以下を決まった時間に、
指定したFTPサーバーのディレクトリに、自動的にアップロードするスクリプトを
作成していまして。これで次のステップに進めそうです。(^^)

今後とも、どうぞよろしくお願いします。

#!/usr/bin/perl

GetFiles(".");
exit(0);

sub GetFiles(){
local($dir)=@_;
local(*DIR);
local($file);

print "In $dir\n";#ディレクトリの作成などに。
opendir(DIR,$dir);
while($file=readdir(DIR)){
    if(-d "$dir/$file" && $file ne '.' && $file ne '..'){
    &GetFiles("$dir/$file");
    }else{
    if($file ne '.' && $file ne '..'){print "$file\n";}#ファイルごとの処理
    }
}
close(DIR);
}

No. 1047 # yuji 2000/08/02 (水) 12:18:15
近況報告ですが、回線が専用線になりまして。(^^)
今後は、apache+php+データベースに取り組んでいきたいと考えております。
Xt、おもしろいですよね。以前、ちょっとだけ取り組みました。

ディレクトリには、1個以上のファイルが含まれることが
多いですから、こっちのほうがスマートでしたね。(^^;
それでは、また。

#!/usr/bin/perl
GetFiles(".");
exit(0);

sub GetFiles(){
local($dir)=@_;
local(*DIR);
local($file);

print "In $dir\n";
opendir(DIR,$dir);
while($file=readdir(DIR)){
    if(-d "$dir/$file"){
        if($file ne '.' && $file ne '..'){
        &GetFiles("$dir/$file");
        }
    }else{
    print "$file\n";
    }
}
close(DIR);
}

No. 1048 # いち 2000/08/02 (水) 18:27:43
御回答ありがとうございます。

ちなみに僕の使っているOSはSunOS 5.6で、
Netscape はバージョン4.7です。

HTTP/FTP クライアントについては、
ネットワークプログラミングの基礎知識で今勉強中なのですが、
ftp の ascii モードと binary モード
というのがなんなのか良く解りません。


.netscape/ については less で覗いてみて、
bookmarks.html は、ブックマークに登録してあるもの、
history.list は、
URLを入力する所の右の下向き矢印をクリックすると表れるURL一覧、
preferences.js は、設定ファイルだと思うのですが、
plugin-list 、plugin-list.BAK については解りません。
その他のファイルについては、見ようとすると

"ファイル名" may be a binary file.
See it anyway?

という表示が出てきて、yesと答えても意味の解らないものが出てくるだけでした。


netscapeのキャッシュの事に関しては、
ls -lud 99/ と入力すると、99/ディレクトリにアクセスされていましたが、
その99/ディレクトリの中のファイルに関して、そのコマンドを入力すると、
アクセスされていませんでした。
これって、だめなのでしょうか?


あと、umask というコマンドについてなのですが、
ファイル、ディレクトリ作成時に、
ファイルのパーミッションを -rw-------
ディレクトリのパーミッションを drwx------
としておきたく、umask の値を変更したいのです。

umask が0の時のパーミッションは、
ファイルが -rw-rw-rw- で、
ディレクトリが drwxrwsrwx なのです。
groupの部分に s の表示があるため、umask 2067
としたらうまくいかないので、umask 77 としたら、
ディレクトリのパーミッションは drwx--l--- となりました。
groupの l も消すようにしたいのですが、どうしたらいいですか?

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