[inseparable changes from patch from perl5.003_24 to perl5.003_25]
[p5sagit/p5-mst-13.2.git] / ext / IO / lib / IO / Seekable.pm
CommitLineData
8add82fc 1#
2
3package IO::Seekable;
4
5=head1 NAME
6
7IO::Seekable - supply seek based methods for I/O objects
8
84dc3c4d 9=head1 SYNOPSIS
10
27d4819a 11 use IO::Seekable;
12 package IO::Something;
13 @ISA = qw(IO::Seekable);
84dc3c4d 14
8add82fc 15=head1 DESCRIPTION
16
17C<IO::Seekable> does not have a constuctor of its own as is intended to
18be inherited by other C<IO::Handle> based objects. It provides methods
19which allow seeking of the file descriptors.
20
21If the C functions fgetpos() and fsetpos() are available, then
22C<IO::File::getpos> returns an opaque value that represents the
23current position of the IO::File, and C<IO::File::setpos> uses
24that value to return to a previously visited position.
25
26See L<perlfunc> for complete descriptions of each of the following
27supported C<IO::Seekable> methods, which are just front ends for the
28corresponding built-in functions:
a6006777 29
8add82fc 30 clearerr
31 seek
32 tell
33
34=head1 SEE ALSO
35
36L<perlfunc>,
37L<perlop/"I/O Operators">,
27d4819a 38L<IO::Handle>
39L<IO::File>
8add82fc 40
41=head1 HISTORY
42
27d4819a 43Derived from FileHandle.pm by Graham Barr E<lt>bodg@tiuk.ti.comE<gt>
8add82fc 44
8add82fc 45=cut
46
47require 5.000;
48use Carp;
7a4c00b4 49use strict;
8add82fc 50use vars qw($VERSION @EXPORT @ISA);
51use IO::Handle qw(SEEK_SET SEEK_CUR SEEK_END);
52require Exporter;
53
54@EXPORT = qw(SEEK_SET SEEK_CUR SEEK_END);
55@ISA = qw(Exporter);
56
7a4c00b4 57$VERSION = "1.06";
8add82fc 58
59sub clearerr {
60 @_ == 1 or croak 'usage: $fh->clearerr()';
61 seek($_[0], 0, SEEK_CUR);
62}
63
64sub seek {
65 @_ == 3 or croak 'usage: $fh->seek(POS, WHENCE)';
66 seek($_[0], $_[1], $_[2]);
67}
68
69sub tell {
70 @_ == 1 or croak 'usage: $fh->tell()';
71 tell($_[0]);
72}
73
741;