Namazu-devel-ja(旧)


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Do NOT use system()



At Wed, 31 Jul 2002 20:04:07 +0900 (JST),
Hajime BABA wrote:
> 補足。もっとも単純には、
>     system("$wordconvpath -o e $tmpfile2 > $tmpfile");
> を、
>     open(SAVEOUT, ">&STDOUT");
>     open(STDOUT, ">$tmpfile");
>     system($wordconvpath, "-o", "e", $tmpfile2);
>     open(STDOUT, ">&SAVEOUT");
> と変更するというworkaroundがありましたね。
> # IO::File を使うと、どうなるのかわかんなかった...

例えば:

my $fileout = IO::File->new($tmpfile, 'w');
my $stdout = IO::Handle->new_from_fd(STDOUT->fileno(), 'w');
STDOUT->fdopen($fileout->fileno(), 'w');
system($wordconvpath, "-o", "e", $tmpfile2);
STDOUT->fdopen($stdout->fileno(), 'w');

で (たぶん) OK。

-- 
SATOH Fumiyasu - fumiya @net-thrust.com, @samba.gr.jp, @namazu.org or ...
THRUST Co., Ltd. @ Fujisawa, Kanagawa, Japan - http://www.net-thrust.com
Samba-JP, aka `Samba Users Group Japan'      - http://www.samba.gr.jp
Apache-JP(?), aka `Japan Apache Users Group' - http://www.apache.jp
Namazu, a full-text search engine            - http://www.namazu.org