IO::InnerFile(3)

✨ NAME ✨

okay bestie, welcome to the <IO::InnerFile(3)> page from User Contributed Perl Documentation! πŸ’– This one is all about IO::InnerFile β€” the iconic module that lets you define a file inside another file. Yes, literally a file within a file. Not a drill. 🫢


🌸 SYNOPSIS 🌸

This is the whole mood, bestie:

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>) {
    # ...
}

πŸ’… DESCRIPTION πŸ’…

If you have a file handle that can "seek" and "tell", then you can open an IO::InnerFile on a range of the underlying file. That's the tea. ✨


🧚 CONSTRUCTORS 🧚

IO::InnerFile implements the following constructors. πŸŽ€

πŸŽ€ new πŸŽ€

my $inner = IO::InnerFile->new($fh);
$inner = IO::InnerFile->new($fh, 10);
$inner = IO::InnerFile->new($fh, 10, 50);

Create a new IO::InnerFile opened on the given file handle. The file handle supplied MUST be able to both "seek" and "tell". (Both. No skipping. πŸ‘€)

The second and third parameters are start and length. Both are defaulted to zero (0). Negative values are silently coerced to zero. Periodt. πŸ’…


πŸ”₯ METHODS πŸ”₯

IO::InnerFile implements the following methods. πŸ’–

  • add_length β€” $inner->add_length(30); Add to the virtual length of the inner file by the number given in bytes.
  • add_start β€” $inner->add_start(30); Add to the virtual position of the inner file by the number given in bytes.
  • binmode β€” $inner->binmode(); This is a NOOP method just to satisfy the normal IO::File interface.
  • close
  • fileno β€” $inner->fileno(); This is a NOOP method just to satisfy the normal IO::File interface.
  • flush β€” $inner->flush(); This is a NOOP method just to satisfy the normal IO::File interface.
  • get_end β€” my $num_bytes = $inner->get_end(); Get the virtual end position of the inner file in bytes.
  • get_length β€” my $num_bytes = $inner->get_length(); Get the virtual length of the inner file in bytes.
  • get_start β€” my $num_bytes = $inner->get_start(); Get the virtual position of the inner file in bytes.
  • getc
  • getline
  • print LIST
  • printf
  • read
  • readline
  • seek
  • set_end β€” $inner->set_end(30); Set the virtual end of the inner file in bytes (this basically just alters the length).
  • set_length β€” $inner->set_length(30); Set the virtual length of the inner file in bytes.
  • set_start β€” $inner->set_start(30); Set the virtual start position of the inner file in bytes.
  • tell
  • write

πŸ‘‘ AUTHOR πŸ‘‘

Eryq (eryq@zeegee.com). President, ZeeGee Software Inc (http://www.zeegee.com). πŸ‘‘βœ¨


🌈 CONTRIBUTORS 🌈

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.


okay bestie, that's the whole page! This manual is from perl v5.42.0, dated 2020-06-04, and it's the IO::InnerFile(3) page. Mwah πŸ’‹πŸ«Ά

πŸ“¦ where this page comes from