Path: ccsf.homeunix.org!news.moat.net!newsfeed.mesh.ad.jp!news-gw1.ocn.ad.jp!giga-nspixp2!newsgate.idc.jp!newsgate.idc.jp!nntp.tiki.ne.jp!not-for-mail From: "H.Yamaguchi" Newsgroups: fj.comp.lang.perl Subject: Re: Net::FTP Date: 13 Jun 2005 23:45 GMT Organization: TikiTiki Internet Service Lines: 51 Message-ID: References: NNTP-Posting-Host: ca9d76-143.tiki.ne.jp Content-Type: text/plain; charset="iso-2022-jp" X-Trace: nntp.tiki.ne.jp 1118706335 80013 202.157.118.143 (13 Jun 2005 23:45:35 GMT) X-Complaints-To: usenet@nntp.tiki.ne.jp NNTP-Posting-Date: Mon, 13 Jun 2005 23:45:35 +0000 (UTC) In-reply-to: X-Posting-Software: Perl 5.008006, Net::NNTP, Jcode Xref: ccsf.homeunix.org fj.comp.lang.perl:133 In article news:d8iitj$1ao4$1@nntp.tiki.ne.jp "H.Yamaguchi" wrote: >  stdout出力の順序が、実行順序にならないのですね。  もともと、コマンドライン上でも print の出力は 実行順では無いですね。改行か close か、内部的な flush まで(system '')バッファリングされるだけ、 そして、サーバー上では改行で flush しないんですね。 open( OUT1, '>/dev/stdout' ) || die; open( OUT2, '>/dev/stdout' ) || die; print OUT1 "1 OUT1-1\n"; print OUT2 "2 OUT2-1\n"; print OUT1 "3 OUT1-2 "; print OUT2 "4 OUT2-2 "; # system ''; # flush ALL print OUT1 "5 OUT1-3\n"; print OUT2 "6 OUT2-3\n"; close OUT2; close OUT1; # 上をコマンドライン上で実行すると。123546 1 OUT1-1 2 OUT2-1 3 OUT1-2 5 OUT1-3 4 OUT2-2 6 OUT2-3 # コマンドライン上で sytem を有効にして実行すると。123456 1 OUT1-1 2 OUT2-1 3 OUT1-2 4 OUT2-2 5 OUT1-3 6 OUT2-3 # OUT2 を先に open すると 124356 # cgi として実行させると。246135 2 OUT2-1 4 OUT2-2 6 OUT2-3 1 OUT1-1 3 OUT1-2 5 OUT1-3 # cgi として close OUT1/2 を逆転して実行させると。135246 1 OUT1-1 3 OUT1-2 5 OUT1-3 2 OUT2-1 4 OUT2-2 6 OUT2-3 -- 山口@福岡