68user's page 掲示板

Prev< No. 1041〜1046> 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);
}

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