<HTML> <HEAD> <TITLE>IO::InnerFile 2.102</TITLE> </HEAD> <BODY bgcolor="#FFFFFF" link="#CC3366" vlink="#993366" alink="#FF6666"> <FONT FACE="sans-serif" SIZE=-1><A HREF="http://www.zeegee.com" TARGET="_top"><IMG SRC="icons/zeegee.gif" ALT="ZeeGee Software" ALIGN="RIGHT" BORDER="0"></A><A NAME="__TOP__"><H1>IO::InnerFile 2.102</H1> </A><UL> <LI> <A NAME="menu:NAME"><A HREF="#NAME">NAME</A></A> <LI> <A NAME="menu:SYNOPSIS"><A HREF="#SYNOPSIS">SYNOPSIS</A></A> <LI> <A NAME="menu:DESCRIPTION"><A HREF="#DESCRIPTION">DESCRIPTION</A></A> <LI> <A NAME="menu:PUBLIC_INTERFACE"><A HREF="#PUBLIC_INTERFACE">PUBLIC INTERFACE</A></A> <UL> <LI> <A NAME="menu:item:new_FILEHANDLE_START_LENGTH"><A HREF="#item:new_FILEHANDLE_START_LENGTH">new FILEHANDLE, [START, [LENGTH]]</A></A> <LI> <A NAME="menu:item:set_length_LENGTH"><A HREF="#item:set_length_LENGTH">set_length LENGTH</A></A> <LI> <A NAME="menu:item:get_length"><A HREF="#item:get_length">get_length </A></A> <LI> <A NAME="menu:item:add_length_NBYTES"><A HREF="#item:add_length_NBYTES">add_length NBYTES</A></A> <LI> <A NAME="menu:item:set_start_START"><A HREF="#item:set_start_START">set_start START</A></A> <LI> <A NAME="menu:item:get_start"><A HREF="#item:get_start">get_start </A></A> <LI> <A NAME="menu:item:add_start_NBYTES"><A HREF="#item:add_start_NBYTES">add_start NBYTES</A></A> <LI> <A NAME="menu:item:binmode"><A HREF="#item:binmode">binmode</A></A> <LI> <A NAME="menu:item:close"><A HREF="#item:close">close</A></A> <LI> <A NAME="menu:item:flush"><A HREF="#item:flush">flush</A></A> <LI> <A NAME="menu:item:getc"><A HREF="#item:getc">getc</A></A> <LI> <A NAME="menu:item:getline"><A HREF="#item:getline">getline</A></A> <LI> <A NAME="menu:item:print_LIST"><A HREF="#item:print_LIST">print LIST</A></A> <LI> <A NAME="menu:item:printf_LIST"><A HREF="#item:printf_LIST">printf LIST</A></A> <LI> <A NAME="menu:item:read_BUF_NBYTES"><A HREF="#item:read_BUF_NBYTES">read BUF, NBYTES</A></A> <LI> <A NAME="menu:item:readline"><A HREF="#item:readline">readline</A></A> <LI> <A NAME="menu:item:seek_OFFFSET_WHENCE"><A HREF="#item:seek_OFFFSET_WHENCE">seek OFFFSET, WHENCE</A></A> <LI> <A NAME="menu:item:tell"><A HREF="#item:tell">tell</A></A> <LI> <A NAME="menu:item:write_ARGS"><A HREF="#item:write_ARGS">write ARGS...</A></A> </UL> <LI> <A NAME="menu:VERSION"><A HREF="#VERSION">VERSION</A></A> <LI> <A NAME="menu:AUTHOR"><A HREF="#AUTHOR">AUTHOR</A></A> </UL> <P><HR> <A NAME="NAME"><H2><A HREF="#__TOP__"><IMG SRC="icons/h1bullet.gif" ALT="Top" BORDER="0"></A> NAME</H2></A> <P>IO::InnerFile - define a file inside another file <P><HR> <A NAME="SYNOPSIS"><H2><A HREF="#__TOP__"><IMG SRC="icons/h1bullet.gif" ALT="Top" BORDER="0"></A> SYNOPSIS</H2></A> <FONT SIZE=3 FACE="courier"><PRE> ### Read a subset of a file: $inner = IO::InnerFile->new($fh, $start, $length); while (<$inner>) { ... } </PRE></FONT> <P><HR> <A NAME="DESCRIPTION"><H2><A HREF="#__TOP__"><IMG SRC="icons/h1bullet.gif" ALT="Top" BORDER="0"></A> DESCRIPTION</H2></A> <P>If you have a filehandle that can seek() and tell(), then you can open an IO::InnerFile on a range of the underlying file. <P><HR> <A NAME="PUBLIC_INTERFACE"><H2><A HREF="#__TOP__"><IMG SRC="icons/h1bullet.gif" ALT="Top" BORDER="0"></A> PUBLIC INTERFACE</H2></A> <DL> <P><DT><B><A HREF="#__TOP__"><IMG SRC="icons/itembullet.gif" ALT="Top" BORDER="0"></A> <A NAME="item:new"><A NAME="item:new_FILEHANDLE_START_LENGTH">new FILEHANDLE, [START, [LENGTH]]</A></A></B></DT> <DD> <I>Class method, constructor.</I> Create a new inner-file opened on the given FILEHANDLE, from bytes START to START+LENGTH. Both START and LENGTH default to 0; negative values are silently coerced to zero. <P>Note that FILEHANDLE must be able to seek() and tell(), in addition to whatever other methods you may desire for reading it. <P><DT><B><A HREF="#__TOP__"><IMG SRC="icons/itembullet.gif" ALT="Top" BORDER="0"></A> <A NAME="item:set_length"><A NAME="item:set_length_LENGTH">set_length LENGTH</A></A></B></DT> <DD> <P><DT><B><A HREF="#__TOP__"><IMG SRC="icons/itembullet.gif" ALT="Top" BORDER="0"></A> <A NAME="item:get_length">get_length</A></B></DT> <DD> <P><DT><B><A HREF="#__TOP__"><IMG SRC="icons/itembullet.gif" ALT="Top" BORDER="0"></A> <A NAME="item:add_length"><A NAME="item:add_length_NBYTES">add_length NBYTES</A></A></B></DT> <DD> <I>Instance methods.</I> Get/set the virtual length of the inner file. <P><DT><B><A HREF="#__TOP__"><IMG SRC="icons/itembullet.gif" ALT="Top" BORDER="0"></A> <A NAME="item:set_start"><A NAME="item:set_start_START">set_start START</A></A></B></DT> <DD> <P><DT><B><A HREF="#__TOP__"><IMG SRC="icons/itembullet.gif" ALT="Top" BORDER="0"></A> <A NAME="item:get_start">get_start</A></B></DT> <DD> <P><DT><B><A HREF="#__TOP__"><IMG SRC="icons/itembullet.gif" ALT="Top" BORDER="0"></A> <A NAME="item:add_start"><A NAME="item:add_start_NBYTES">add_start NBYTES</A></A></B></DT> <DD> <I>Instance methods.</I> Get/set the virtual start position of the inner file. <P><DT><B><A HREF="#__TOP__"><IMG SRC="icons/itembullet.gif" ALT="Top" BORDER="0"></A> <A NAME="item:binmode">binmode</A></B></DT> <DD> <P><DT><B><A HREF="#__TOP__"><IMG SRC="icons/itembullet.gif" ALT="Top" BORDER="0"></A> <A NAME="item:close">close</A></B></DT> <DD> <P><DT><B><A HREF="#__TOP__"><IMG SRC="icons/itembullet.gif" ALT="Top" BORDER="0"></A> <A NAME="item:flush">flush</A></B></DT> <DD> <P><DT><B><A HREF="#__TOP__"><IMG SRC="icons/itembullet.gif" ALT="Top" BORDER="0"></A> <A NAME="item:getc">getc</A></B></DT> <DD> <P><DT><B><A HREF="#__TOP__"><IMG SRC="icons/itembullet.gif" ALT="Top" BORDER="0"></A> <A NAME="item:getline">getline</A></B></DT> <DD> <P><DT><B><A HREF="#__TOP__"><IMG SRC="icons/itembullet.gif" ALT="Top" BORDER="0"></A> <A NAME="item:print"><A NAME="item:print_LIST">print LIST</A></A></B></DT> <DD> <P><DT><B><A HREF="#__TOP__"><IMG SRC="icons/itembullet.gif" ALT="Top" BORDER="0"></A> <A NAME="item:printf"><A NAME="item:printf_LIST">printf LIST</A></A></B></DT> <DD> <P><DT><B><A HREF="#__TOP__"><IMG SRC="icons/itembullet.gif" ALT="Top" BORDER="0"></A> <A NAME="item:read"><A NAME="item:read_BUF_NBYTES">read BUF, NBYTES</A></A></B></DT> <DD> <P><DT><B><A HREF="#__TOP__"><IMG SRC="icons/itembullet.gif" ALT="Top" BORDER="0"></A> <A NAME="item:readline">readline</A></B></DT> <DD> <P><DT><B><A HREF="#__TOP__"><IMG SRC="icons/itembullet.gif" ALT="Top" BORDER="0"></A> <A NAME="item:seek"><A NAME="item:seek_OFFFSET_WHENCE">seek OFFFSET, WHENCE</A></A></B></DT> <DD> <P><DT><B><A HREF="#__TOP__"><IMG SRC="icons/itembullet.gif" ALT="Top" BORDER="0"></A> <A NAME="item:tell">tell</A></B></DT> <DD> <P><DT><B><A HREF="#__TOP__"><IMG SRC="icons/itembullet.gif" ALT="Top" BORDER="0"></A> <A NAME="item:write"><A NAME="item:write_ARGS">write ARGS...</A></A></B></DT> <DD> <I>Instance methods.</I> Standard filehandle methods. </DL> <P><HR> <A NAME="VERSION"><H2><A HREF="#__TOP__"><IMG SRC="icons/h1bullet.gif" ALT="Top" BORDER="0"></A> VERSION</H2></A> <P>$Id: InnerFile.pm.html,v 1.1 2004/04/09 17:04:45 dasenbro Exp $ <P><HR> <A NAME="AUTHOR"><H2><A HREF="#__TOP__"><IMG SRC="icons/h1bullet.gif" ALT="Top" BORDER="0"></A> AUTHOR</H2></A> <P>Original version by Doru Petrescu (pdoru@kappa.ro). <P>Documentation and current maintenance by Eryq (eryq@zeegee.com). <P><HR> <ADDRESS><FONT SIZE=-1> Generated Sun Dec 21 13:54:37 2003 by cvu_pod2html </FONT></ADDRESS> </FONT></BODY> </HTML>