Test::Builder::IO::Scalar - phpMan

Command: man perldoc info search(apropos)  


Sections
NAME DESCRIPTION WARNINGS VERSION AUTHORS SEE ALSO
NAME
    Test::Builder::IO::Scalar - A copy of IO::Scalar for Test::Builder

DESCRIPTION
    This is a copy of IO::Scalar which ships with Test::Builder to support
    scalar references as filehandles on Perl 5.6. Newer versions of Perl
    simply use "open()"'s built in support.

    Test::Builder can not have dependencies on other modules without careful
    consideration, so its simply been copied into the distribution.

COPYRIGHT and LICENSE
    This file came from the "IO-stringy" Perl5 toolkit.

    Copyright (c) 1996 by Eryq. All rights reserved. Copyright (c) 1999,2001
    by 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.

  Construction
    new [ARGS...]
        *Class method.* Return a new, unattached scalar handle. If any
        arguments are given, they're sent to open().

    open [SCALARREF]
        *Instance method.* Open the scalar handle on a new scalar, pointed
        to by SCALARREF. If no SCALARREF is given, a "private" scalar is
        created to hold the file data.

        Returns the self object on success, undefined on error.

    opened
        *Instance method.* Is the scalar handle opened on something?

    close
        *Instance method.* Disassociate the scalar handle from its
        underlying scalar. Done automatically on destroy.

  Input and output
    flush
        *Instance method.* No-op, provided for OO compatibility.

    getc
        *Instance method.* Return the next character, or undef if none
        remain.

    getline
        *Instance method.* Return the next line, or undef on end of string.
        Can safely be called in an array context. Currently, lines are
        delimited by "\n".

    getlines
        *Instance method.* Get all remaining lines. It will croak() if
        accidentally called in a scalar context.

    print ARGS...
        *Instance method.* Print ARGS to the underlying scalar.

        Warning: this continues to always cause a seek to the end of the
        string, but if you perform seek()s and tell()s, it is still safer to
        explicitly seek-to-end before subsequent print()s.

    read BUF, NBYTES, [OFFSET]
        *Instance method.* Read some bytes from the scalar. Returns the
        number of bytes actually read, 0 on end-of-file, undef on error.

    write BUF, NBYTES, [OFFSET]
        *Instance method.* Write some bytes to the scalar.

    sysread BUF, LEN, [OFFSET]
        *Instance method.* Read some bytes from the scalar. Returns the
        number of bytes actually read, 0 on end-of-file, undef on error.

    syswrite BUF, NBYTES, [OFFSET]
        *Instance method.* Write some bytes to the scalar.

  Seeking/telling and other attributes
    autoflush
        *Instance method.* No-op, provided for OO compatibility.

    binmode
        *Instance method.* No-op, provided for OO compatibility.

    clearerr
        *Instance method.* Clear the error and EOF flags. A no-op.

    eof *Instance method.* Are we at end of file?

    seek OFFSET, WHENCE
        *Instance method.* Seek to a given position in the stream.

    sysseek OFFSET, WHENCE
        *Instance method.* Identical to "seek OFFSET, WHENCE", *q.v.*

    tell
        *Instance method.* Return the current position in the stream, as a
        numeric offset.

    use_RS [YESNO]
        *Instance method.* Deprecated and ignored. Obey the current setting
        of $/, like IO::Handle does? Default is false in 1.x, but
        cold-welded true in 2.x and later.

    setpos POS
        *Instance method.* Set the current position, using the opaque value
        returned by "getpos()".

    getpos
        *Instance method.* Return the current position in the string, as an
        opaque object.

    sref
        *Instance method.* Return a reference to the underlying scalar.

WARNINGS
    Perl's TIEHANDLE spec was incomplete prior to 5.005_57; it was missing
    support for "seek()", "tell()", and "eof()". Attempting to use these
    functions with an IO::Scalar will not work prior to 5.005_57. IO::Scalar
    will not have the relevant methods invoked; and even worse, this kind of
    bug can lie dormant for a while. If you turn warnings on (via $^W or
    "perl -w"), and you see something like this...

        attempt to seek on unopened filehandle

    ...then you are probably trying to use one of these functions on an
    IO::Scalar with an old Perl. The remedy is to simply use the OO version;
    e.g.:

        $SH->seek(0,0);    ### GOOD: will work on any 5.005
        seek($SH,0,0);     ### WARNING: will only work on 5.005_57 and beyond

VERSION
    $Id: Scalar.pm,v 1.6 2005/02/10 21:21:53 dfs Exp $

AUTHORS
  Primary Maintainer
    David F. Skoll (dfs AT roaringpenguin.com).

  Principal author
    Eryq (eryq AT zeegee.com). President, ZeeGee Software Inc
    (http://www.zeegee.com).

  Other contributors
    The full set of contributors always includes the folks mentioned in
    "CHANGE LOG" in IO::Stringy. But just the same, special thanks to the
    following individuals for their invaluable contributions (if I've
    forgotten or misspelled your name, please email me!):

    *Andy Glew,* for contributing "getc()".

    *Brandon Browning,* for suggesting "opened()".

    *David Richter,* for finding and fixing the bug in "PRINTF()".

    *Eric L. Brine,* for his offset-using read() and write()
    implementations.

    *Richard Jones,* for his patches to massively improve the performance of
    "getline()" and add "sysread" and "syswrite".

    *B. K. Oxley (binkley),* for stringification and inheritance
    improvements, and sundry good ideas.

    *Doug Wilson,* for the IO::Handle inheritance and automatic tie-ing.

SEE ALSO
    IO::String, which is quite similar but which was designed more-recently
    and with an IO::Handle-like interface in mind, so you could mix OO- and
    native-filehandle usage without using tied().

    *Note:* as of version 2.x, these classes all work like their IO::Handle
    counterparts, so we have comparable functionality to IO::String.


Generated by phpMan Author: Che Dong On Apache Under GNU General Public License - MarkDown Format
2026-05-23 05:18 @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