Вы можете * макетировать встроенную функцию readpipe
. Perl вызовет вашу фиктивную функцию, когда встретит обратные пометки или выражение qx
.
BEGIN {
*CORE::GLOBAL::readpipe = \&mock_readpipe
};
sub mock_readpipe {
wantarray ? ("foo\n") : "foo\n";
}
print readpipe("ls -R");
print `ls -R`;
print qx(ls -R);
$ perl mock-readpipe.pl
foo
foo
foo
* - если у вас есть версия Perl 5.8.9 или более поздняя.