Upgrade to Tie::File 0.95.
[p5sagit/p5-mst-13.2.git] / lib / Tie / Handle.pm
index 42d0834..d8747f1 100644 (file)
@@ -1,7 +1,7 @@
 package Tie::Handle;
 
-use 5.005_64;
-our $VERSION = '1.0';
+use 5.006_001;
+our $VERSION = '4.1';
 
 =head1 NAME
 
@@ -12,7 +12,7 @@ Tie::Handle, Tie::StdHandle  - base class definitions for tied handles
     package NewHandle;
     require Tie::Handle;
 
-    @ISA = (Tie::Handle);
+    @ISA = qw(Tie::Handle);
 
     sub READ { ... }           # Provide a needed method
     sub TIEHANDLE { ... }      # Overrides inherited method
@@ -33,7 +33,7 @@ For developers wishing to write their own tied-handle classes, the methods
 are summarized below. The L<perltie> section not only documents these, but
 has sample code as well:
 
-=over
+=over 4
 
 =item TIEHANDLE classname, LIST
 
@@ -105,6 +105,15 @@ destruction of an instance.
 
 The L<perltie> section contains an example of tying handles.
 
+=head1 COMPATIBILITY
+
+This version of Tie::Handle is neither related to nor compatible with
+the Tie::Handle (3.0) module available on CPAN. It was due to an
+accident that two modules with the same name appeared. The namespace
+clash has been cleared in favor of this module that comes with the
+perl core in September 2000 and accordingly the version number has
+been bumped up to 4.0.
+
 =cut
 
 use Carp;
@@ -183,20 +192,20 @@ sub WRITE {
 sub CLOSE {
     my $pkg = ref $_[0];
     croak "$pkg doesn't define a CLOSE method";
-} 
+}
 
 package Tie::StdHandle; 
-our @ISA = 'Tie::Handle';       
+our @ISA = 'Tie::Handle';
 use Carp;
 
 sub TIEHANDLE 
 {
  my $class = shift;
- my $fh    = do { \local *HANDLE};
+ my $fh    = \do { local *HANDLE};
  bless $fh,$class;
  $fh->OPEN(@_) if (@_);
  return $fh;
-}         
+}
 
 sub EOF     { eof($_[0]) }
 sub TELL    { tell($_[0]) }
@@ -206,9 +215,9 @@ sub CLOSE   { close($_[0]) }
 sub BINMODE { binmode($_[0]) }
 
 sub OPEN
-{         
+{
  $_[0]->CLOSE if defined($_[0]->FILENO);
- open($_[0],$_[1]);
+ @_ == 2 ? open($_[0], $_[1]) : open($_[0], $_[1], $_[2]);
 }
 
 sub READ     { read($_[0],$_[1],$_[2]) }
@@ -216,7 +225,7 @@ sub READLINE { my $fh = $_[0]; <$fh> }
 sub GETC     { getc($_[0]) }
 
 sub WRITE
-{        
+{
  my $fh = $_[0];
  print $fh substr($_[1],0,$_[2])
 }