InnerFile.pm.html   [plain text]


<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-&gt;new($fh, $start, $length);
    while (&lt;$inner&gt;) {
	...
    }
</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>