@@ -11,21 +11,22 @@ SYNOPSIS
11
11
::WrapTie adpO Tie your handles & retain full OO interface ERYQ
12
12
13
13
DESCRIPTION
14
- This toolkit primarily provides modules for performing both traditional and object-
15
- oriented i/o) on things *other* than normal filehandles; in particular, IO::Scalar,
16
- IO::ScalarArray, and IO::Lines.
14
+ This toolkit primarily provides modules for performing both traditional
15
+ and object- oriented i/o) on things *other* than normal filehandles; in
16
+ particular, IO::Scalar, IO::ScalarArray, and IO::Lines.
17
17
18
- If you have access to tie(), these classes will make use of the IO::WrapTie module
19
- to inherit a convenient new_tie() constructor. It also exports a nice wraptie()
20
- function.
18
+ If you have access to tie(), these classes will make use of the
19
+ IO::WrapTie module to inherit a convenient new_tie() constructor. It
20
+ also exports a nice wraptie() function.
21
21
22
- In the more-traditional IO::Handle front, we have IO::AtomicFile which may be used
23
- to painlessly create files which are updated atomically.
22
+ In the more-traditional IO::Handle front, we have IO::AtomicFile which
23
+ may be used to painlessly create files which are updated atomically.
24
24
25
- And in the "this-may-prove-useful" corner, we have IO::Wrap, whose exported
26
- wraphandle() function will clothe anything that's not a blessed object in an
27
- IO::Handle-like wrapper... so you can just use OO syntax and stop worrying about
28
- whether your function's caller handed you a string, a globref, or a FileHandle.
25
+ And in the "this-may-prove-useful" corner, we have IO::Wrap, whose
26
+ exported wraphandle() function will clothe anything that's not a blessed
27
+ object in an IO::Handle-like wrapper... so you can just use OO syntax
28
+ and stop worrying about whether your function's caller handed you a
29
+ string, a globref, or a FileHandle.
29
30
30
31
INSTALLATION
31
32
Most of you already know the drill...
@@ -34,38 +35,40 @@ INSTALLATION
34
35
make test
35
36
make install
36
37
37
- For everyone else out there... if you've never installed Perl code before, or
38
- you're trying to use this in an environment where your sysadmin or ISP won't let
39
- you do interesting things, relax: since this module contains no binary extensions,
40
- you can cheat. That means copying the directory tree under my "./lib" directory
41
- into someplace where your script can "see" it. For example, under Linux:
38
+ For everyone else out there... if you've never installed Perl code
39
+ before, or you're trying to use this in an environment where your
40
+ sysadmin or ISP won't let you do interesting things, relax: since this
41
+ module contains no binary extensions, you can cheat. That means copying
42
+ the directory tree under my "./lib" directory into someplace where your
43
+ script can "see" it. For example, under Linux:
42
44
43
45
cp -r IO-stringy-1.234/lib/* /path/to/my/perl/
44
-
46
+
45
47
Now, in your Perl code, do this:
46
48
47
49
use lib "/path/to/my/perl";
48
50
use IO::Scalar; ### or whatever
49
51
50
- Ok, now you've been told. At this point, anyone who whines about not being given
51
- enough information gets an unflattering haiku written about them in the next change
52
- log. I'll do it. Don't think I won't.
52
+ Ok, now you've been told. At this point, anyone who whines about not
53
+ being given enough information gets an unflattering haiku written about
54
+ them in the next change log. I'll do it. Don't think I won't.
53
55
54
56
VERSION
55
- $Id: Stringy.pm,v 1.219 2001/02/23 09:46:23 eryq Exp $
57
+ $Id: Stringy.pm,v 1.220 2001/04/04 05:37:51 eryq Exp $
56
58
57
59
TO DO
58
60
(2000/08/02) Finalize $/ support
59
- Graham Barr submitted this patch half a *year* ago; Like a moron, I lost his
60
- message under a ton of others, and only now have the experimental
61
- implementation done.
61
+ Graham Barr submitted this patch half a *year* ago; Like a moron, I
62
+ lost his message under a ton of others, and only now have the
63
+ experimental implementation done.
62
64
63
- Will the sudden sensitivity to $/ hose anyone out there? I'm worried, so you
64
- have to enable it explicitly.
65
+ Will the sudden sensitivity to $/ hose anyone out there? I'm
66
+ worried, so you have to enable it explicitly.
65
67
66
68
(2000/09/28) Separate read/write cursors?
67
- Binkley sent me a very interesting variant of IO::Scalar which maintains two
68
- separate cursors on the data, one for reading and one for writing. Quoth he:
69
+ Binkley sent me a very interesting variant of IO::Scalar which
70
+ maintains two separate cursors on the data, one for reading and one
71
+ for writing. Quoth he:
69
72
70
73
Isn't it the case that real operating system file descriptors
71
74
maintain an independent read and write file position (and
@@ -76,77 +79,91 @@ TO DO
76
79
For example, what does eof or tell return? The read position or
77
80
the write position? (I assumed read position was more important).
78
81
79
- Your opinions on this are most welcome. (Me, I'm just squeamish that this will
80
- break some code which depends on the existing behavior, and that attempts to
81
- maintain backwards-compatibility will slow down the code. But I'll give it a
82
- shot.)
82
+ Your opinions on this are most welcome. (Me, I'm just squeamish that
83
+ this will break some code which depends on the existing behavior,
84
+ and that attempts to maintain backwards-compatibility will slow down
85
+ the code. But I'll give it a shot.)
83
86
84
87
CHANGE LOG
88
+ Version 1.220 (2001/04/03)
89
+ Added untested SEEK, TELL, and EOF methods to IO::Scalar and
90
+ IO::ScalarArray to support corresponding functions for tied
91
+ filehandles: untested, because I'm still running 5.00556 and Perl is
92
+ complaining about "tell() on unopened file". *Thanks to Graham Barr
93
+ for the suggestion.*
94
+
95
+ Removed not-fully-blank lines from modules; these were causing lots
96
+ of POD-related warnings. *Thanks to Nicolas Joly for the
97
+ suggestion.*
98
+
85
99
Version 1.219 (2001/02/23)
86
- IO::Scalar objects can now be made sensitive to $/ . Pains were taken to keep
87
- the fast code fast while adding this feature. *Cheers to Graham Barr for
88
- submitting his patch; jeers to me for losing his email for 6 months.*
100
+ IO::Scalar objects can now be made sensitive to $/ . Pains were
101
+ taken to keep the fast code fast while adding this feature. *Cheers
102
+ to Graham Barr for submitting his patch; jeers to me for losing his
103
+ email for 6 months.*
89
104
90
105
Version 1.218 (2001/02/23)
91
- IO::Scalar has a new sysseek() method. *Thanks again to Richard Jones.*
106
+ IO::Scalar has a new sysseek() method. *Thanks again to Richard
107
+ Jones.*
92
108
93
- New "TO DO" section, because people who submit patches/ideas should at least
94
- know that they're in the system... and that I won't lose their stuff. Please
95
- read it.
109
+ New "TO DO" section, because people who submit patches/ideas should
110
+ at least know that they're in the system... and that I won't lose
111
+ their stuff. Please read it.
96
112
97
113
New entries in the section on "AUTHOR". Please read those too.
98
114
99
115
Version 1.216 (2000/09/28)
100
- IO::Scalar and IO::ScalarArray now inherit from IO::Handle. I thought I'd
101
- remembered a problem with this ages ago, related to the fact that these IO::
102
- modules don't have "real" filehandles, but the problem apparently isn't
103
- surfacing now. If you suddenly encounter Perl warnings during global
104
- destruction (especially if you're using tied filehandles), then please let me
105
- know! *Thanks to B. K. Oxley (binkley) for this.*
106
-
107
- Nasty bug fixed in IO::Scalar::write(). Apparently, the offset and the number-
108
- of-bytes arguments were, for all practical purposes, *reversed.* You were okay
109
- if you did all your writing with print(), but boy was *this* a stupid bug!
110
- *Thanks to Richard Jones for finding this one. For you, Rich, a double-length
111
- haiku:*
116
+ IO::Scalar and IO::ScalarArray now inherit from IO::Handle. I
117
+ thought I'd remembered a problem with this ages ago, related to the
118
+ fact that these IO:: modules don't have "real" filehandles, but the
119
+ problem apparently isn't surfacing now. If you suddenly encounter
120
+ Perl warnings during global destruction (especially if you're using
121
+ tied filehandles), then please let me know! *Thanks to B. K. Oxley
122
+ (binkley) for this.*
123
+
124
+ Nasty bug fixed in IO::Scalar::write(). Apparently, the offset and
125
+ the number-of-bytes arguments were, for all practical purposes,
126
+ *reversed.* You were okay if you did all your writing with print(),
127
+ but boy was *this* a stupid bug! *Thanks to Richard Jones for
128
+ finding this one. For you, Rich, a double-length haiku:*
112
129
113
130
Newspaper headline
114
131
typeset by dyslexic man
115
132
loses urgency
116
-
133
+
117
134
BABY EATS FISH is
118
135
simply not equivalent
119
136
to FISH EATS BABY
120
137
121
- New sysread and syswrite methods for IO::Scalar. *Thanks again to Richard Jones
122
- for this.*
138
+ New sysread and syswrite methods for IO::Scalar. *Thanks again to
139
+ Richard Jones for this.*
123
140
124
141
Version 1.215 (2000/09/05)
125
- Added 'bool' overload to '""' overload, so object always evaluates to true.
126
- (Whew. Glad I caught this before it went to CPAN.)
142
+ Added 'bool' overload to '""' overload, so object always evaluates
143
+ to true. (Whew. Glad I caught this before it went to CPAN.)
127
144
128
145
Version 1.214 (2000/09/03)
129
- Evaluating an IO::Scalar in a string context now yields the underlying string.
130
- *Thanks to B. K. Oxley (binkley) for this.*
146
+ Evaluating an IO::Scalar in a string context now yields the
147
+ underlying string. *Thanks to B. K. Oxley (binkley) for this.*
131
148
132
149
Version 1.213 (2000/08/16)
133
150
Minor documentation fixes.
134
151
135
152
Version 1.212 (2000/06/02)
136
- Fixed IO::InnerFile incompatibility with Perl5.004. *Thanks to many folks for
137
- reporting this.*
153
+ Fixed IO::InnerFile incompatibility with Perl5.004. *Thanks to many
154
+ folks for reporting this.*
138
155
139
156
Version 1.210 (2000/04/17)
140
- Added flush() and other no-op methods. *Thanks to Doru Petrescu for suggesting
141
- this.*
157
+ Added flush() and other no-op methods. *Thanks to Doru Petrescu for
158
+ suggesting this.*
142
159
143
160
Version 1.209 (2000/03/17)
144
161
Small bug fixes.
145
162
146
163
Version 1.208 (2000/03/14)
147
- Incorporated a number of contributed patches and extensions, mostly related to
148
- speed hacks, support for "offset", and WRITE/CLOSE methods. *Thanks to Richard
149
- Jones, Doru Petrescu, and many others.*
164
+ Incorporated a number of contributed patches and extensions, mostly
165
+ related to speed hacks, support for "offset", and WRITE/CLOSE
166
+ methods. *Thanks to Richard Jones, Doru Petrescu, and many others.*
150
167
151
168
Version 1.206 (1999/04/18)
152
169
Added creation of ./testout when Makefile.PL is run.
@@ -161,19 +178,20 @@ CHANGE LOG
161
178
Added IO::WrapTie.
162
179
163
180
Version 1.107
164
- Added IO::Lines, and made some bug fixes to IO::ScalarArray. Also, added
165
- getc().
181
+ Added IO::Lines, and made some bug fixes to IO::ScalarArray. Also,
182
+ added getc().
166
183
167
184
Version 1.105
168
185
No real changes; just upgraded IO::Wrap to have a $VERSION string.
169
186
170
187
AUTHOR
171
188
Primary Maintainer
172
- Eryq (
[email protected] ). President, ZeeGee Software Inc (http://www.zeegee.com).
189
+ Eryq (
[email protected] ). President, ZeeGee Software Inc
190
+ (http://www.zeegee.com).
173
191
174
192
Unofficial Co-Authors
175
- For all their bug reports and patch submissions, the following are officially
176
- recognized:
193
+ For all their bug reports and patch submissions, the following are
194
+ officially recognized:
177
195
178
196
Richard Jones
179
197
B. K. Oxley (binkley)
0 commit comments