2

我有以下 PHP 代码打开输出缓冲区,包含一个文件,将其存储在一个变量中,并清除缓冲区:

ob_start(); 
include('test.html');
$input=ob_get_clean(); 

在 Perl 中等效的外观如何?

4

3 回答 3

4

$| = 1;将为当前选定的句柄打开禁用缓冲(STDOUT默认情况下)。换句话说,

$| = 1;

在功能上等同于

use IO::Handle qw( );   # Not needed since 5.14.
select()->autoflush(1);

这通常意味着

use IO::Handle qw( );   # Not needed since 5.14.
STDOUT->autoflush(1);
于 2013-01-22T05:19:28.447 回答
3

特殊变量$|。当设置为非零时,每次写入或打印后是否刷新缓冲区

于 2013-01-22T05:00:14.393 回答
2

所以等价的将是:

# open a file handle try to get test.html
open(my $fh, "<", "test.html") ||
   die 'Could not open test.html: '.$!;
# return the currently selected filehandle
select($fh);
#clear the output buffer
select()->autoflush(1);

参考

于 2014-07-09T18:52:45.077 回答