カレントディレクトリーを得るには

[上に] [前に] [次に]
きゅんべる 1999/06/07(月) 22:16:12
 とんでもないバカな質問かもしれませんが、

 Perlでカレントディレクトリーが今どこにいるのか知るのには、
どうやったらいいのでしょう?

tre [E-Mail] 1999/06/07(月) 23:29:16
$current_dir = `pwd`; #unix用
print $current_dir, "\n";

こんな感じでいいと思う・・

きゅんべる 1999/06/08(火) 00:36:36
 なるほど、、、、ありがとうございました。

 でも、うちのプロバイダー(HI-HO)は、
どうも、shell関係全く使えないみたいなんです。
($a = `echo hello!`; とかしても、$aに何にも入らない)

 こういった場合、他に方法はありますでしょうか?

ふじ 1999/06/08(火) 00:42:42
確かカレントディレクトリを追跡するモジュールが有ったはず・・・
#詳細失念(^^;

tre [E-Mail] 1999/06/08(火) 00:59:33
http://www2d.biglobe.ne.jp/~gama/cgi/list.cgi?telnet.cgi
無断でリンクしちゃって、いいのかな・・・

ここを、参考にしてみるといいかもしれません。

きゅんべる 1999/06/08(火) 02:35:58
<FONT COLOR=green>
use Cwd;
$wd = Cwd::getcwd();
$wd='/' unless ($wd);
print "$wd\n";
</FONT>
 なるほど、Perl5 では、こんなクラス(でいいのかな?)が
あるんですね。うーむ、、、、
(カレントディレクトリーって、あまり簡単には求まらないのか?)

 Perl 4 で、このようなことをするのにはどうすればいいんでしょう?

B-Cus 1999/06/08(火) 02:56:43
> カレントディレクトリーって、あまり簡単には求まらないのか?
ん〜まぁそうかも。ソース見りゃわかりますけど、
getcwdは . から / まで1段階ずつディレクトリを上がって調べます。

> Perl 4 で、このようなことをするのにはどうすればいいんでしょう?
getcwdはperl4時代からありましたので、
 require 'getcwd.pl';
 $wd = getcwd();
でいけるはずです(試してません)。

きゅんべる 1999/06/08(火) 04:05:40
[[解決]]
> require 'getcwd.pl';
> $wd = &getcwd();

 で、無事、カレントディレクトリーを得ることができました。
ありがとうございました。

 でも、Perl 5 の Cwdのほうが、Win32など他のOSでも使えたり、
(getcwd.pl では、Windowsではディレクトリーが得られなかった)
使い勝手はよくなってるみたいですね。

[上に] [前に] [次に]