1176343954 Perl についての質問です。


プログラムがおいてあるフォルダーの上のフォルダー名を調べるためにはどうしたらいいでしょうか?

わかりにくいと思いましたので図を添付致します。

環境は、
Windows XP SP2
Perl ver 5.8.8
Apache HTTP Server 2.2.3
です。

回答の条件
  • URL必須
  • 1人20回まで
  • 登録:2007/04/12 11:12:35
  • 終了:2007/04/19 11:15:18

回答(2件)

id:studioes No.1

studioes回答回数522ベストアンサー獲得回数612007/04/12 11:32:16

ポイント35pt

 PERLでは環境変数として、現在実行しているスクリプトの絶対パスが渡されます。

$ENV{'SCRIPT_FILENAME'}

 図の場合は、 ドライブ:/boss_folder/main_folder/main.cgiが戻るわけです。

 これを正規表現で処理すればOK。

http://q.hatena.ne.jp/1175671185

id:zachouR

ありがとうございます!

助かりました。

2007/04/12 12:03:51
id:b-wind No.2

b-wind回答回数3344ベストアンサー獲得回数4402007/04/12 11:37:25

ポイント35pt
use File::Spec;

my $abs = File::Spec->rel2abs($0);
my @dirs = File::Spec->splitdir($abs);
print $dirs[-3];

File::Spec - portably perform operations on file names - search.cpan.org

id:zachouR

すぐに使わせていただきます!

いつも、ありがとうございます!

2007/04/12 12:03:52
  • id:b-wind
    >PERLでは環境変数として、現在実行しているスクリプトの絶対パスが渡されます。
    CGI ではの間違いでは?

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません