"which" on Windows [Perl]

| コメント(0) | トラックバック(0)

unixのwhich(1) のようなものを作ってみるテスト

use strict;
use warnings;

use Env qw(PATH PATHEXT);
use File::Spec;
use Config;

if (!@ARGV) {
  print "$0 <execname>\n";
  exit;
}
my @pathext = split $Config{path_sep}, $PATHEXT;
my $pathext_r = '(?:' . join('|', map quotemeta, @pathext) . ')$';

my $exec = shift;
my @exec = $exec =~ m{$pathext_r}i 
         ? ($exec) 
         : map { "$exec$_" } @pathext;

for my $base ('.', split $Config{path_sep}, $PATH) {
  for my $execfile ( map { File::Spec->catfile($base, $_) } @exec ) {
    if (-x $execfile) {
      print $execfile, "\n";
      exit;
    }
  }
}

which.pl とかに保存しておいて pl2bat すればwhich hogehoge で使える。(もちろんWindows上でしかまともに動かないと思いますけど。

トラックバック(0)

トラックバックURL: http://floralcompany.jp/mt/mt-tb.cgi/45

コメントする

AUTHOR

  • turugina (虎王 剱奈)
  • E-mail: turugina {at} floralcompany.jp
  • pixiv
  • ニジエ

2014年5月

        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

アーカイブ

OpenID対応しています OpenIDについて
Powered by Movable Type 5.2.10

- 警 告 -

本サイトにはいわゆる「18禁画像」(イラスト)へのリンクが存在します。 未成年の方や、その手の画像に不快感を覚える方は、 該当記事(「えちぃの」及び「ちょっとえちぃの」カテゴリ) をご覧にならないようお願いいたします。

上記を理解した上で非表示のブログパーツを表示する
あわせて読みたいブログパーツ
ついった
drawr/pixiv/twitpic