Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / amd64 / man / man3 / Tie::Handle.3
CommitLineData
920dae64
AT
1.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
2.\"
3.\" Standard preamble:
4.\" ========================================================================
5.de Sh \" Subsection heading
6.br
7.if t .Sp
8.ne 5
9.PP
10\fB\\$1\fR
11.PP
12..
13.de Sp \" Vertical space (when we can't use .PP)
14.if t .sp .5v
15.if n .sp
16..
17.de Vb \" Begin verbatim text
18.ft CW
19.nf
20.ne \\$1
21..
22.de Ve \" End verbatim text
23.ft R
24.fi
25..
26.\" Set up some character translations and predefined strings. \*(-- will
27.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28.\" double quote, and \*(R" will give a right double quote. | will give a
29.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
30.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
31.\" expand to `' in nroff, nothing in troff, for use with C<>.
32.tr \(*W-|\(bv\*(Tr
33.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34.ie n \{\
35. ds -- \(*W-
36. ds PI pi
37. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
39. ds L" ""
40. ds R" ""
41. ds C` ""
42. ds C' ""
43'br\}
44.el\{\
45. ds -- \|\(em\|
46. ds PI \(*p
47. ds L" ``
48. ds R" ''
49'br\}
50.\"
51.\" If the F register is turned on, we'll generate index entries on stderr for
52.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53.\" entries marked with X<> in POD. Of course, you'll have to process the
54.\" output yourself in some meaningful fashion.
55.if \nF \{\
56. de IX
57. tm Index:\\$1\t\\n%\t"\\$2"
58..
59. nr % 0
60. rr F
61.\}
62.\"
63.\" For nroff, turn off justification. Always turn off hyphenation; it makes
64.\" way too many mistakes in technical documents.
65.hy 0
66.if n .na
67.\"
68.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69.\" Fear. Run. Save yourself. No user-serviceable parts.
70. \" fudge factors for nroff and troff
71.if n \{\
72. ds #H 0
73. ds #V .8m
74. ds #F .3m
75. ds #[ \f1
76. ds #] \fP
77.\}
78.if t \{\
79. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
80. ds #V .6m
81. ds #F 0
82. ds #[ \&
83. ds #] \&
84.\}
85. \" simple accents for nroff and troff
86.if n \{\
87. ds ' \&
88. ds ` \&
89. ds ^ \&
90. ds , \&
91. ds ~ ~
92. ds /
93.\}
94.if t \{\
95. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
101.\}
102. \" troff and (daisy-wheel) nroff accents
103.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110.ds ae a\h'-(\w'a'u*4/10)'e
111.ds Ae A\h'-(\w'A'u*4/10)'E
112. \" corrections for vroff
113.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115. \" for low resolution devices (crt and lpr)
116.if \n(.H>23 .if \n(.V>19 \
117\{\
118. ds : e
119. ds 8 ss
120. ds o a
121. ds d- d\h'-1'\(ga
122. ds D- D\h'-1'\(hy
123. ds th \o'bp'
124. ds Th \o'LP'
125. ds ae ae
126. ds Ae AE
127.\}
128.rm #[ #] #H #V #F C
129.\" ========================================================================
130.\"
131.IX Title "Tie::Handle 3"
132.TH Tie::Handle 3 "2001-09-21" "perl v5.8.8" "Perl Programmers Reference Guide"
133.SH "NAME"
134Tie::Handle, Tie::StdHandle \- base class definitions for tied handles
135.SH "SYNOPSIS"
136.IX Header "SYNOPSIS"
137.Vb 2
138\& package NewHandle;
139\& require Tie::Handle;
140.Ve
141.PP
142.Vb 1
143\& @ISA = qw(Tie::Handle);
144.Ve
145.PP
146.Vb 2
147\& sub READ { ... } # Provide a needed method
148\& sub TIEHANDLE { ... } # Overrides inherited method
149.Ve
150.PP
151.Vb 1
152\& package main;
153.Ve
154.PP
155.Vb 1
156\& tie *FH, 'NewHandle';
157.Ve
158.SH "DESCRIPTION"
159.IX Header "DESCRIPTION"
160This module provides some skeletal methods for handle-tying classes. See
161perltie for a list of the functions required in tying a handle to a package.
162The basic \fBTie::Handle\fR package provides a \f(CW\*(C`new\*(C'\fR method, as well as methods
163\&\f(CW\*(C`TIEHANDLE\*(C'\fR, \f(CW\*(C`PRINT\*(C'\fR, \f(CW\*(C`PRINTF\*(C'\fR and \f(CW\*(C`GETC\*(C'\fR.
164.PP
165For developers wishing to write their own tied-handle classes, the methods
166are summarized below. The perltie section not only documents these, but
167has sample code as well:
168.IP "\s-1TIEHANDLE\s0 classname, \s-1LIST\s0" 4
169.IX Item "TIEHANDLE classname, LIST"
170The method invoked by the command \f(CW\*(C`tie *glob, classname\*(C'\fR. Associates a new
171glob instance with the specified class. \f(CW\*(C`LIST\*(C'\fR would represent additional
172arguments (along the lines of AnyDBM_File and compatriots) needed to
173complete the association.
174.IP "\s-1WRITE\s0 this, scalar, length, offset" 4
175.IX Item "WRITE this, scalar, length, offset"
176Write \fIlength\fR bytes of data from \fIscalar\fR starting at \fIoffset\fR.
177.IP "\s-1PRINT\s0 this, \s-1LIST\s0" 4
178.IX Item "PRINT this, LIST"
179Print the values in \fI\s-1LIST\s0\fR
180.IP "\s-1PRINTF\s0 this, format, \s-1LIST\s0" 4
181.IX Item "PRINTF this, format, LIST"
182Print the values in \fI\s-1LIST\s0\fR using \fIformat\fR
183.IP "\s-1READ\s0 this, scalar, length, offset" 4
184.IX Item "READ this, scalar, length, offset"
185Read \fIlength\fR bytes of data into \fIscalar\fR starting at \fIoffset\fR.
186.IP "\s-1READLINE\s0 this" 4
187.IX Item "READLINE this"
188Read a single line
189.IP "\s-1GETC\s0 this" 4
190.IX Item "GETC this"
191Get a single character
192.IP "\s-1CLOSE\s0 this" 4
193.IX Item "CLOSE this"
194Close the handle
195.IP "\s-1OPEN\s0 this, filename" 4
196.IX Item "OPEN this, filename"
197(Re\-)open the handle
198.IP "\s-1BINMODE\s0 this" 4
199.IX Item "BINMODE this"
200Specify content is binary
201.IP "\s-1EOF\s0 this" 4
202.IX Item "EOF this"
203Test for end of file.
204.IP "\s-1TELL\s0 this" 4
205.IX Item "TELL this"
206Return position in the file.
207.IP "\s-1SEEK\s0 this, offset, whence" 4
208.IX Item "SEEK this, offset, whence"
209Position the file.
210.Sp
211Test for end of file.
212.IP "\s-1DESTROY\s0 this" 4
213.IX Item "DESTROY this"
214Free the storage associated with the tied handle referenced by \fIthis\fR.
215This is rarely needed, as Perl manages its memory quite well. But the
216option exists, should a class wish to perform specific actions upon the
217destruction of an instance.
218.SH "MORE INFORMATION"
219.IX Header "MORE INFORMATION"
220The perltie section contains an example of tying handles.
221.SH "COMPATIBILITY"
222.IX Header "COMPATIBILITY"
223This version of Tie::Handle is neither related to nor compatible with
224the Tie::Handle (3.0) module available on \s-1CPAN\s0. It was due to an
225accident that two modules with the same name appeared. The namespace
226clash has been cleared in favor of this module that comes with the
227perl core in September 2000 and accordingly the version number has
228been bumped up to 4.0.