This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Note changes to perlvar in perldelta
[perl5.git] / pod / perltie.pod
index 162272b..791753d 100644 (file)
@@ -134,8 +134,8 @@ X<STORE>
 
 This method will be triggered every time the tied variable is set
 (assigned).  Beyond its self reference, it also expects one (and only one)
-argument--the new value the user is trying to assign. Don't worry about
-returning a value from STORE -- the semantic of assignment returning the
+argumentthe new value the user is trying to assign. Don't worry about
+returning a value from STORE; the semantic of assignment returning the
 assigned value is implemented with FETCH.
 
     sub STORE {
@@ -673,9 +673,9 @@ method on the original object reference returned by tie().
        croak "@{[&whowasi]}: $file not clobberable"
            unless $self->{CLOBBER};
 
-       open(F, "> $file") || croak "can't open $file: $!";
-       print F $value;
-       close(F);
+       open(my $f, '>', $file) || croak "can't open $file: $!";
+       print $f $value;
+       close($f);
     }
 
 If they wanted to clobber something, they might say:
@@ -952,6 +952,19 @@ This method will be called when the C<getc> function is called.
 
     sub GETC { print "Don't GETC, Get Perl"; return "a"; }
 
+=item EOF this
+X<EOF>
+
+This method will be called when the C<eof> function is called.
+
+Starting with Perl 5.12, an additional integer parameter will be passed.  It
+will be zero if C<eof> is called without parameter; C<1> if C<eof> is given
+a filehandle as a parameter, e.g. C<eof(FH)>; and C<2> in the very special
+case that the tied filehandle is C<ARGV> and C<eof> is called with an empty
+parameter list, e.g. C<eof()>.
+
+    sub EOF { not length $stringbuf }
+
 =item CLOSE this
 X<CLOSE>
 
@@ -1065,7 +1078,7 @@ This is the output when it is executed:
 So far so good.  Those of you who have been paying attention will have
 spotted that the tied object hasn't been used so far.  So lets add an
 extra method to the Remember class to allow comments to be included in
-the file -- say, something like this:
+the file; say, something like this:
 
     sub comment {
         my $self = shift;
@@ -1168,7 +1181,7 @@ tie methods for slice operations.
 You cannot easily tie a multilevel data structure (such as a hash of
 hashes) to a dbm file.  The first problem is that all but GDBM and
 Berkeley DB have size limitations, but beyond that, you also have problems
-with how references are to be represented on disk.  One experimental
+with how references are to be represented on disk.  One
 module that does attempt to address this need is DBM::Deep.  Check your
 nearest CPAN site as described in L<perlmodlib> for source code.  Note
 that despite its name, DBM::Deep does not use dbm.  Another earlier attempt