/usr/share/perl5/IO/All/STDIO.pm is in libio-all-perl 0.86-2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | use strict; use warnings;
package IO::All::STDIO;
use IO::All -base;
use IO::File;
const type => 'stdio';
sub stdio {
my $self = shift;
bless $self, __PACKAGE__;
return $self->_init;
}
sub stdin {
my $self = shift;
$self->open('<');
return $self;
}
sub stdout {
my $self = shift;
$self->open('>');
return $self;
}
sub stderr {
my $self = shift;
$self->open_stderr;
return $self;
}
sub open {
my $self = shift;
$self->is_open(1);
my $mode = shift || $self->mode || '<';
my $fileno = $mode eq '>'
? fileno(STDOUT)
: fileno(STDIN);
$self->io_handle(IO::File->new);
$self->io_handle->fdopen($fileno, $mode);
$self->_set_binmode;
}
sub open_stderr {
my $self = shift;
$self->is_open(1);
$self->io_handle(IO::File->new);
$self->io_handle->fdopen(fileno(STDERR), '>') ? $self : 0;
}
# XXX Add overload support
1;
|