[Namazu-devel-ja 144] Re: Windows で動かす際に問題になりそうな箇所

SATOH Fumiyasu fumiya @ samba.gr.jp
2004年 9月 10日 (金) 02:43:02 JST


At Thu, 26 Aug 2004 06:07:22 +0900,
Tadamasa Teranishi wrote:
> # 忘れないようにメモ。
> 
> Windows 9x 系では command.com で '2>' が使えないので、以下のフィルタは
> 正しく動かないはず。(NT 系は大丈夫。)
        *** snip ***
> env コマンドを使っているものは、Windows 環境で正しく動かないだろう。

仕事や個人的に利用するために作成した
   Perl で意図した通りにコマンドを実行するためのモジュール
を公開します(添付)。Perl の system() や open() や IO::File の
曖昧さに辟易している人には有用かと (たぶん…)。よろしければ
参考にしてください。ただし、Windows 系で正しく動くかどうかは
試していないのでわかりません。

以下、使い方:

use Site::Util::Command qw(run_command);
my $fh_null = IO::File->new('/dev/null', 'w');
run_command(
    command => [ 'commandname', 'arg1', 'arg2' ],
    stdout => $fh_null,
    env => {
        LC_ALL => 'C',
        MUST_BE_NULL => '',
        UNWANTED => undef,
    },
);
die "command failed: status " . ($?>>8) if ($?);

use Site::Util::Command qw(read_from_command);
my $fh_ls = read_from_command(
    command => [ 'ls', '/' ],
    env => { LC_ALL => 'C' },
);
print $fh_ls->getlines;

use Site::Util::Command qw(write_to_command);
my $fh_strupper = write_to_command(
    command => [ 'tr', 'a-z', 'A-Z' ],
);
$fh_strupper->print("Foo Bar\n");

-- 
-- Name: SATOH Fumiyasu  -- Home: http://www.sfo.jp (in Japanese only)
-- Mail: fumiya at net-thrust.com, samba.gr.jp, namazu.org or ...
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: Command.pm
型:         application/octet-stream
サイズ:     2839 バイト
説明:       無し
URL:        http://www.namazu.org/pipermail/namazu-devel-ja/attachments/20040910/bb21f7f0/Command.obj


Namazu-devel-ja メーリングリストの案内