summaryrefslogtreecommitdiffstats
path: root/upstream/mageia-cauldron/man3pm/Test::Builder::IO::Scalar.3pm
diff options
context:
space:
mode:
Diffstat (limited to 'upstream/mageia-cauldron/man3pm/Test::Builder::IO::Scalar.3pm')
-rw-r--r--upstream/mageia-cauldron/man3pm/Test::Builder::IO::Scalar.3pm268
1 files changed, 268 insertions, 0 deletions
diff --git a/upstream/mageia-cauldron/man3pm/Test::Builder::IO::Scalar.3pm b/upstream/mageia-cauldron/man3pm/Test::Builder::IO::Scalar.3pm
new file mode 100644
index 00000000..382b0559
--- /dev/null
+++ b/upstream/mageia-cauldron/man3pm/Test::Builder::IO::Scalar.3pm
@@ -0,0 +1,268 @@
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
+.\"
+.\" Standard preamble:
+.\" ========================================================================
+.de Sp \" Vertical space (when we can't use .PP)
+.if t .sp .5v
+.if n .sp
+..
+.de Vb \" Begin verbatim text
+.ft CW
+.nf
+.ne \\$1
+..
+.de Ve \" End verbatim text
+.ft R
+.fi
+..
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
+.ie n \{\
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. ds C`
+. ds C'
+'br\}
+.\"
+.\" Escape single quotes in literal strings from groff's Unicode transform.
+.ie \n(.g .ds Aq \(aq
+.el .ds Aq '
+.\"
+.\" If the F register is >0, we'll generate index entries on stderr for
+.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
+.\" entries marked with X<> in POD. Of course, you'll have to process the
+.\" output yourself in some meaningful fashion.
+.\"
+.\" Avoid warning from groff about undefined register 'F'.
+.de IX
+..
+.nr rF 0
+.if \n(.g .if rF .nr rF 1
+.if (\n(rF:(\n(.g==0)) \{\
+. if \nF \{\
+. de IX
+. tm Index:\\$1\t\\n%\t"\\$2"
+..
+. if !\nF==2 \{\
+. nr % 0
+. nr F 2
+. \}
+. \}
+.\}
+.rr rF
+.\" ========================================================================
+.\"
+.IX Title "Test::Builder::IO::Scalar 3pm"
+.TH Test::Builder::IO::Scalar 3pm 2023-11-28 "perl v5.38.2" "Perl Programmers Reference Guide"
+.\" For nroff, turn off justification. Always turn off hyphenation; it makes
+.\" way too many mistakes in technical documents.
+.if n .ad l
+.nh
+.SH NAME
+Test::Builder::IO::Scalar \- A copy of IO::Scalar for Test::Builder
+.SH DESCRIPTION
+.IX Header "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 \f(CWopen()\fR's built in support.
+.PP
+Test::Builder can not have dependencies on other modules without
+careful consideration, so its simply been copied into the distribution.
+.SH "COPYRIGHT and LICENSE"
+.IX Header "COPYRIGHT and LICENSE"
+This file came from the "IO-stringy" Perl5 toolkit.
+.PP
+Copyright (c) 1996 by Eryq. All rights reserved.
+Copyright (c) 1999,2001 by ZeeGee Software Inc. All rights reserved.
+.PP
+This program is free software; you can redistribute it and/or
+modify it under the same terms as Perl itself.
+.SS Construction
+.IX Subsection "Construction"
+.IP "new [ARGS...]" 4
+.IX Item "new [ARGS...]"
+\&\fIClass method.\fR
+Return a new, unattached scalar handle.
+If any arguments are given, they're sent to \fBopen()\fR.
+.IP "open [SCALARREF]" 4
+.IX Item "open [SCALARREF]"
+\&\fIInstance method.\fR
+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.
+.Sp
+Returns the self object on success, undefined on error.
+.IP opened 4
+.IX Item "opened"
+\&\fIInstance method.\fR
+Is the scalar handle opened on something?
+.IP close 4
+.IX Item "close"
+\&\fIInstance method.\fR
+Disassociate the scalar handle from its underlying scalar.
+Done automatically on destroy.
+.SS "Input and output"
+.IX Subsection "Input and output"
+.IP flush 4
+.IX Item "flush"
+\&\fIInstance method.\fR
+No-op, provided for OO compatibility.
+.IP getc 4
+.IX Item "getc"
+\&\fIInstance method.\fR
+Return the next character, or undef if none remain.
+.IP getline 4
+.IX Item "getline"
+\&\fIInstance method.\fR
+Return the next line, or undef on end of string.
+Can safely be called in an array context.
+Currently, lines are delimited by "\en".
+.IP getlines 4
+.IX Item "getlines"
+\&\fIInstance method.\fR
+Get all remaining lines.
+It will \fBcroak()\fR if accidentally called in a scalar context.
+.IP "print ARGS..." 4
+.IX Item "print ARGS..."
+\&\fIInstance method.\fR
+Print ARGS to the underlying scalar.
+.Sp
+\&\fBWarning:\fR this continues to always cause a seek to the end
+of the string, but if you perform \fBseek()\fRs and \fBtell()\fRs, it is
+still safer to explicitly seek-to-end before subsequent \fBprint()\fRs.
+.IP "read BUF, NBYTES, [OFFSET]" 4
+.IX Item "read BUF, NBYTES, [OFFSET]"
+\&\fIInstance method.\fR
+Read some bytes from the scalar.
+Returns the number of bytes actually read, 0 on end-of-file, undef on error.
+.IP "write BUF, NBYTES, [OFFSET]" 4
+.IX Item "write BUF, NBYTES, [OFFSET]"
+\&\fIInstance method.\fR
+Write some bytes to the scalar.
+.IP "sysread BUF, LEN, [OFFSET]" 4
+.IX Item "sysread BUF, LEN, [OFFSET]"
+\&\fIInstance method.\fR
+Read some bytes from the scalar.
+Returns the number of bytes actually read, 0 on end-of-file, undef on error.
+.IP "syswrite BUF, NBYTES, [OFFSET]" 4
+.IX Item "syswrite BUF, NBYTES, [OFFSET]"
+\&\fIInstance method.\fR
+Write some bytes to the scalar.
+.SS "Seeking/telling and other attributes"
+.IX Subsection "Seeking/telling and other attributes"
+.IP autoflush 4
+.IX Item "autoflush"
+\&\fIInstance method.\fR
+No-op, provided for OO compatibility.
+.IP binmode 4
+.IX Item "binmode"
+\&\fIInstance method.\fR
+No-op, provided for OO compatibility.
+.IP clearerr 4
+.IX Item "clearerr"
+\&\fIInstance method.\fR Clear the error and EOF flags. A no-op.
+.IP eof 4
+.IX Item "eof"
+\&\fIInstance method.\fR Are we at end of file?
+.IP "seek OFFSET, WHENCE" 4
+.IX Item "seek OFFSET, WHENCE"
+\&\fIInstance method.\fR Seek to a given position in the stream.
+.IP "sysseek OFFSET, WHENCE" 4
+.IX Item "sysseek OFFSET, WHENCE"
+\&\fIInstance method.\fR Identical to \f(CW\*(C`seek OFFSET, WHENCE\*(C'\fR, \fIq.v.\fR
+.IP tell 4
+.IX Item "tell"
+\&\fIInstance method.\fR
+Return the current position in the stream, as a numeric offset.
+.IP "use_RS [YESNO]" 4
+.IX Item "use_RS [YESNO]"
+\&\fIInstance method.\fR
+\&\fBDeprecated and ignored.\fR
+Obey the current setting of $/, like IO::Handle does?
+Default is false in 1.x, but cold-welded true in 2.x and later.
+.IP "setpos POS" 4
+.IX Item "setpos POS"
+\&\fIInstance method.\fR
+Set the current position, using the opaque value returned by \f(CWgetpos()\fR.
+.IP getpos 4
+.IX Item "getpos"
+\&\fIInstance method.\fR
+Return the current position in the string, as an opaque object.
+.IP sref 4
+.IX Item "sref"
+\&\fIInstance method.\fR
+Return a reference to the underlying scalar.
+.SH WARNINGS
+.IX Header "WARNINGS"
+Perl's TIEHANDLE spec was incomplete prior to 5.005_57;
+it was missing support for \f(CWseek()\fR, \f(CWtell()\fR, and \f(CWeof()\fR.
+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 \f(CW$^W\fR or \f(CW\*(C`perl \-w\*(C'\fR),
+and you see something like this...
+.PP
+.Vb 1
+\& attempt to seek on unopened filehandle
+.Ve
+.PP
+\&...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.:
+.PP
+.Vb 2
+\& $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
+.Ve
+.SH VERSION
+.IX Header "VERSION"
+\&\f(CW$Id:\fR Scalar.pm,v 1.6 2005/02/10 21:21:53 dfs Exp $
+.SH AUTHORS
+.IX Header "AUTHORS"
+.SS "Primary Maintainer"
+.IX Subsection "Primary Maintainer"
+David F. Skoll (\fIdfs@roaringpenguin.com\fR).
+.SS "Principal author"
+.IX Subsection "Principal author"
+Eryq (\fIeryq@zeegee.com\fR).
+President, ZeeGee Software Inc (\fIhttp://www.zeegee.com\fR).
+.SS "Other contributors"
+.IX Subsection "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!):
+.PP
+\&\fIAndy Glew,\fR
+for contributing \f(CWgetc()\fR.
+.PP
+\&\fIBrandon Browning,\fR
+for suggesting \f(CWopened()\fR.
+.PP
+\&\fIDavid Richter,\fR
+for finding and fixing the bug in \f(CWPRINTF()\fR.
+.PP
+\&\fIEric L. Brine,\fR
+for his offset-using \fBread()\fR and \fBwrite()\fR implementations.
+.PP
+\&\fIRichard Jones,\fR
+for his patches to massively improve the performance of \f(CWgetline()\fR
+and add \f(CW\*(C`sysread\*(C'\fR and \f(CW\*(C`syswrite\*(C'\fR.
+.PP
+\&\fIB. K. Oxley (binkley),\fR
+for stringification and inheritance improvements,
+and sundry good ideas.
+.PP
+\&\fIDoug Wilson,\fR
+for the IO::Handle inheritance and automatic tie-ing.
+.SH "SEE ALSO"
+.IX Header "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 \fBtied()\fR.
+.PP
+\&\fINote:\fR as of version 2.x, these classes all work like
+their IO::Handle counterparts, so we have comparable
+functionality to IO::String.