Namazu-devel-ja(旧)


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

Re: Do NOT use system()



<20020725.231401.74751628.baba@xxxxxxxxxxxxxxxx>の記事において
baba@xxxxxxxxxxxxxxxxさんは書きました。

>>         open(SAVEOUT, ">&STDOUT");
>>         open(SAVEOUT, ">$tmpfile3");
>>         system("$pdfinfopath $tmpfile");
>>         open(STDOUT, ">&SAVEOUT");

  HACKING-ja には IO::File を使えとあるので、以下のように書き直してみ
たのですがどうもうまく動きません...

	my $saveout = IO::File->new;
	bless *STDOUT{IO}, 'IO::File';
	$saveout->open('>&=' . fileno(STDOUT));
	STDOUT->open(">$tmpfile3");
	system("$pdfinfopath $tmpfile");
	STDOUT->flush;
	STDOUT->open('>&=' . fileno($saveout));

  何故か $saveout が undef になる時があるようです。

# 簡単な code で試した限りは問題ないのに...
-- 
野首 貴嗣
E-mail: knok@xxxxxxxxxxxxx
	knok@xxxxxxxxxx / knok@xxxxxxxxxx