The prototype of readpipe() is now ($). Previously, it was broken: $ perl5.8.8 -wle 'print prototype"CORE::readpipe"' Can't find an opnumber for "readpipe" at -e line 1. $ bleadperl -wle 'print prototype"CORE::readpipe"' $ #### actarus:~/test [13:02:32]$ ls foo.pl actarus:~/test [13:02:35]$ cat foo.pl #!/usr/bin/perl use strict; use warnings; my %file; BEGIN { no strict 'refs'; *{'CORE::GLOBAL::stat'} = sub { warn "trying mocked stat()\n"; (my $f)=@_; CORE::stat( @_ && !ref($f) && exists $file{$f} ? $0 : @_ ); }; } use Test::More qw(no_plan); $file{foo} = 1; ok( (scalar stat $_) => "file $_ exists") for qw/foo bar/; ok( (-e $_) => "file $_ exists") for qw/foo bar/; __END__ actarus:~/test [13:02:38]$ ./foo.pl trying mocked stat() ok 1 - file foo exists trying mocked stat() not ok 2 - file bar exists # Failed test 'file bar exists' # at ./foo.pl line 21. not ok 3 - file foo exists # Failed test 'file foo exists' # at ./foo.pl line 22. not ok 4 - file bar exists # Failed test 'file bar exists' # at ./foo.pl line 22. 1..4 # Looks like you failed 3 tests of 4.