Blame t/lib/TieLC.pm

Packit Service 44c065
package TieLC;
Packit Service 44c065
Packit Service 44c065
sub TIEHANDLE 
Packit Service 44c065
{
Packit Service 44c065
 my $class = shift;
Packit Service 44c065
 my $fh    = \do { local *HANDLE};
Packit Service 44c065
 bless $fh,$class;
Packit Service 44c065
 $fh->OPEN(@_) if (@_);
Packit Service 44c065
 $fh->BINMODE(':utf8');
Packit Service 44c065
 return $fh;
Packit Service 44c065
}
Packit Service 44c065
Packit Service 44c065
sub EOF     { eof($_[0]) }
Packit Service 44c065
sub TELL    { tell($_[0]) }
Packit Service 44c065
sub FILENO  { fileno($_[0]) }
Packit Service 44c065
sub SEEK    { seek($_[0],$_[1],$_[2]) }
Packit Service 44c065
sub CLOSE   { close($_[0]) }
Packit Service 44c065
sub BINMODE { binmode($_[0],$_[1]) }
Packit Service 44c065
Packit Service 44c065
sub OPEN
Packit Service 44c065
{
Packit Service 44c065
 $_[0]->CLOSE if defined($_[0]->FILENO);
Packit Service 44c065
 @_ == 2 ? open($_[0], $_[1]) : open($_[0], $_[1], $_[2]);
Packit Service 44c065
}
Packit Service 44c065
Packit Service 44c065
sub READ     { read($_[0],$_[1],$_[2]) }
Packit Service 44c065
sub READLINE { "hello world\n" }
Packit Service 44c065
sub GETC     { getc($_[0]) }
Packit Service 44c065
Packit Service 44c065
sub WRITE
Packit Service 44c065
{
Packit Service 44c065
 my $fh = $_[0];
Packit Service 44c065
 print $fh substr($_[1],0,$_[2])
Packit Service 44c065
}
Packit Service 44c065
Packit Service 44c065
sub PRINT {
Packit Service 44c065
  my ($self, @what) = @_;
Packit Service 44c065
  my $buf = lc join('', @what);
Packit Service 44c065
  $self->WRITE($buf, length($buf), 0);
Packit Service 44c065
}
Packit Service 44c065
Packit Service 44c065
sub UNTIE { 1 }; # suppress warnings about references
Packit Service 44c065
Packit Service 44c065
1;