IO::InnerFile - define a file inside another file
use strict;
use warnings;
use IO::InnerFile;
# Read a subset of a file:
my $fh = _some_file_handle;
my $start = 10;
my $length = 50;
my $inner = IO::InnerFile->new($fh, $start, $length);
while (my $line = <$inner>) {
# ...
}
If you have a file handle that can seek and tell , then you
can open an the IO::InnerFile manpage on a range of the underlying file.
the IO::InnerFile manpage implements the following constructors.
my $inner = IO::InnerFile->new($fh);
$inner = IO::InnerFile->new($fh, 10);
$inner = IO::InnerFile->new($fh, 10, 50);
Create a new the IO::InnerFile manpage opened on the given file handle.
The file handle supplied MUST be able to both seek and tell .
The second and third parameters are start and length. Both are defaulted
to zero (0 ). Negative values are silently coerced to zero.
the IO::InnerFile manpage implements the following methods.
$inner->add_length(30);
Add to the virtual length of the inner file by the number given in bytes.
$inner->add_start(30);
Add to the virtual position of the inner file by the number given in bytes.
$inner->binmode();
This is a NOOP method just to satisfy the normal the IO::File manpage interface.
$inner->fileno();
This is a NOOP method just to satisfy the normal the IO::File manpage interface.
$inner->flush();
This is a NOOP method just to satisfy the normal the IO::File manpage interface.
my $num_bytes = $inner->get_end();
Get the virtual end position of the inner file in bytes.
my $num_bytes = $inner->get_length();
Get the virtual length of the inner file in bytes.
my $num_bytes = $inner->get_start();
Get the virtual position of the inner file in bytes.
$inner->set_end(30);
Set the virtual end of the inner file in bytes (this basically just alters the length).
$inner->set_length(30);
Set the virtual length of the inner file in bytes.
$inner->set_start(30);
Set the virtual start position of the inner file in bytes.
Eryq (eryq@zeegee.com).
President, ZeeGee Software Inc (http://www.zeegee.com).
Dianne Skoll (dfs@roaringpenguin.com).
Copyright (c) 1997 Erik (Eryq) Dorfman, ZeeGee Software, Inc. All rights reserved.
This program is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.
|