File::RandomAccess - phpMan

Command: man perldoc info search(apropos)  


Sections
NAME SYNOPSIS DESCRIPTION METHODS OPTIONS AUTHOR SEE ALSO
NAME
    File::RandomAccess - Random access reads of sequential file or scalar

SYNOPSIS
        use File::RandomAccess;

        $raf = new File::RandomAccess(\*FILE, $disableSeekTest);

        $raf = new File::RandomAccess(\$data);

        $err = $raf->Seek($pos);
        $num = $raf->Read($buff, $bytes);

DESCRIPTION
    Allows random access to sequential file by buffering the file if
    necessary. Also allows access to data in memory to be accessed as if it
    were a file.

METHODS
    new Creates a new RandomAccess object given a file reference or
        reference to data in memory.

            # Read from open file or pipe
            $raf = new File::RandomAccess(\*FILE);

            # Read from data in memory
            $raf = new File::RandomAccess(\$data);

        Inputs:
            0) Reference to RandomAccess object or RandomAccess class name.

            1) File reference or scalar reference.

            2) Flag set if file is already random access (disables automatic
            SeekTest).

        Returns:
            Reference to RandomAccess object.

    SeekTest
        Performs test seek() on file to determine if buffering is necessary.
        If the seek() fails, then the file is buffered to allow random
        access. SeekTest() is automatically called from new unless
        specified.

            $result = $raf->SeekTest();

        Inputs:
            0) Reference to RandomAccess object.

        Returns:
            1 if seek test passed (ie. no buffering required).

        Notes:
            Must be called before any other i/o.

    Tell
        Get current position in file

            $pos = $raf->Tell();

        Inputs:
            0) Reference to RandomAccess object.

        Returns:
            Current position in file

    Seek
        Seek to specified position in file. When buffered, this doesn't
        quite behave like seek() since it returns success even if you seek
        outside the limits of the file.

            $success = $raf->Seek($pos, 0);

        Inputs:
            0) Reference to RandomAccess object.

            1) Position.

            2) Whence (0=from start, 1=from cur pos, 2=from end).

        Returns:
            1 on success, 0 otherwise

    Read
        Read data from the file.

            $num = $raf->Read($buff, 1024);

        Inputs:
            0) Reference to RandomAccess object.

            1) Buffer.

            2) Number of bytes to read.

        Returns:
            Number of bytes actually read.

    ReadLine
        Read a line from file (end of line is $/).

        Inputs:
            0) Reference to RandomAccess object.

            1) Buffer.

        Returns:
            Number of bytes read.

    Slurp
        Read whole file into buffer, without changing read pointer.

        Inputs:
            0) Reference to RandomAccess object.

        Returns:
            Nothing.

    BinMode
        Set binary mode for file.

        Inputs:
            0) Reference to RandomAccess object.

        Returns:
            Nothing.

    Close
        Close the file and free the buffer.

        Inputs:
            0) Reference to RandomAccess object.

        Returns:
            Nothing.

OPTIONS
    NoBuffer
        Avoid buffering sequential files.

            $raf->{NoBuffer} = 1;

        When this option is set, old data is purged from the internal buffer
        before a read operation on a sequential file. In this mode, memory
        requirements may be significantly reduced when reading sequential
        files, but seeking backward is limited to within the size of the
        internal buffer (which will be at least as large as the last
        returned data block), and seeking relative to the end of file is not
        allowed.

AUTHOR
    Copyright 2003-2022 Phil Harvey (philharvey66 at gmail.com)

    This library is free software; you can redistribute it and/or modify it
    under the same terms as Perl itself.

SEE ALSO
    Image::ExifTool(3pm)


Generated by phpMan Author: Che Dong On Apache Under GNU General Public License - MarkDown Format
2026-05-23 08:35 @216.73.217.24 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!

^_back to top