~ubuntu-branches/ubuntu/intrepid/perl-doc-html/intrepid

« back to all changes in this revision

Viewing changes to perlbot.html

  • Committer: Bazaar Package Importer
  • Author(s): Roberto C. Sanchez
  • Date: 2008-05-17 20:14:19 UTC
  • mfrom: (1.1.1 upstream)
  • Revision ID: james.westby@ubuntu.com-20080517201419-qgbuogq2ckkdisyi
Tags: 5.10.0-2
Supersede botched upload of 5.10.0-1.

Show diffs side-by-side

added added

removed removed

Lines of Context:
54
54
      <h2>Links:</h2>
55
55
      <ul>
56
56
        <li><a href="http://search.cpan.org">CPAN</a></li>
 
57
        <li><a href="http://www.perl.org">Perl.org</a></li>
57
58
        <li><a href="http://www.perl.com">Perl.com</a></li>
58
 
        <li><a href="http://www.perl.org">Perl.org</a></li>
 
59
        <li><a href="http://perlbuzz.com">Perl Buzz</a></li>
 
60
        <li><a href="http://www.perlfoundation.org/perl5/index.cgi">Perl 5 Wiki</a></li>
 
61
        <li><a href="http://jobs.perl.org">Perl Jobs</a></li>
59
62
        <li><a href="http://www.pm.org">Perl Mongers</a></li>
60
63
        <li><a href="http://www.perlmonks.org">Perl Monks</a></li>
61
64
        <li><a href="http://planet.perl.org">Planet Perl</a></li>
65
68
      <ul>
66
69
        <li>Site maintained by<br><a href="http://perl.jonallen.info">Jon Allen</a>
67
70
            (<a href="http://perl.jonallen.info">JJ</a>)</li>
68
 
        <li class="spaced">Last updated on<br>23 April 2006</li>
 
71
        <li class="spaced">Last updated on<br>23 December 2007</li>
69
72
        <li class="spaced">See the <a href="http://perl.jonallen.info/projects/perldoc">project page</a> for
70
73
        more details</li>
71
74
      </ul>
76
79
    <div id="centerContent">
77
80
      <div id="contentHeader">
78
81
        <div id="contentHeaderLeft"><a href="#" onClick="showLeft()">Show navigation</a></div>
79
 
        <div id="contentHeaderCentre">-- Perl 5.8.8 documentation --</div>
 
82
        <div id="contentHeaderCentre">-- Perl 5.10.0 documentation --</div>
80
83
        <div id="contentHeaderRight"><a href="#" onClick="showRight()">Show toolbar</a></div>
81
84
      </div>
82
85
      <div id="breadCrumbs"><a href="index.html">Home</a> &gt; <a href="index-tutorials.html">Tutorials</a> &gt; perlbot</div>
163
166
                <a class="l_k" href="functions/bless.html">bless</a> <span class="i">$self</span><span class="cm">,</span> <span class="i">$type</span><span class="sc">;</span>
164
167
        <span class="s">}</span></pre>
165
168
<pre class="verbatim"><a name="package-main"></a>       package <span class="i">main</span><span class="sc">;</span></pre>
166
 
<pre class="verbatim">  <span class="i">$a</span> = Foo-&gt;new<span class="s">(</span> <span class="q">&#39;High&#39;</span> <span class="cm">=&gt;</span> <span class="n">42</span><span class="cm">,</span> <span class="q">&#39;Low&#39;</span> <span class="cm">=&gt;</span> <span class="n">11</span> <span class="s">)</span><span class="sc">;</span>
 
169
<pre class="verbatim">  <span class="i">$a</span> = <span class="w">Foo</span><span class="w">-&gt;new</span><span class="s">(</span> <span class="q">&#39;High&#39;</span> <span class="cm">=&gt;</span> <span class="n">42</span><span class="cm">,</span> <span class="q">&#39;Low&#39;</span> <span class="cm">=&gt;</span> <span class="n">11</span> <span class="s">)</span><span class="sc">;</span>
167
170
        <a class="l_k" href="functions/print.html">print</a> <span class="q">&quot;High=$a-&gt;{&#39;High&#39;}\n&quot;</span><span class="sc">;</span>
168
171
        <a class="l_k" href="functions/print.html">print</a> <span class="q">&quot;Low=$a-&gt;{&#39;Low&#39;}\n&quot;</span><span class="sc">;</span></pre>
169
 
<pre class="verbatim">  <span class="i">$b</span> = Bar-&gt;new<span class="s">(</span> <span class="q">&#39;Left&#39;</span> <span class="cm">=&gt;</span> <span class="n">78</span><span class="cm">,</span> <span class="q">&#39;Right&#39;</span> <span class="cm">=&gt;</span> <span class="n">40</span> <span class="s">)</span><span class="sc">;</span>
 
172
<pre class="verbatim">  <span class="i">$b</span> = <span class="w">Bar</span><span class="w">-&gt;new</span><span class="s">(</span> <span class="q">&#39;Left&#39;</span> <span class="cm">=&gt;</span> <span class="n">78</span><span class="cm">,</span> <span class="q">&#39;Right&#39;</span> <span class="cm">=&gt;</span> <span class="n">40</span> <span class="s">)</span><span class="sc">;</span>
170
173
        <a class="l_k" href="functions/print.html">print</a> <span class="q">&quot;Left=$b-&gt;[0]\n&quot;</span><span class="sc">;</span>
171
174
        <a class="l_k" href="functions/print.html">print</a> <span class="q">&quot;Right=$b-&gt;[1]\n&quot;</span><span class="sc">;</span></pre>
172
175
<a name="SCALAR-INSTANCE-VARIABLES"></a><h1>SCALAR INSTANCE VARIABLES</h1>
179
182
                <a class="l_k" href="functions/bless.html">bless</a> \<span class="i">$self</span><span class="cm">,</span> <span class="i">$type</span><span class="sc">;</span>
180
183
        <span class="s">}</span></pre>
181
184
<pre class="verbatim"><a name="package-main"></a>       package <span class="i">main</span><span class="sc">;</span></pre>
182
 
<pre class="verbatim">  <span class="i">$a</span> = Foo-&gt;new<span class="s">(</span> <span class="n">42</span> <span class="s">)</span><span class="sc">;</span>
 
185
<pre class="verbatim">  <span class="i">$a</span> = <span class="w">Foo</span><span class="w">-&gt;new</span><span class="s">(</span> <span class="n">42</span> <span class="s">)</span><span class="sc">;</span>
183
186
        <a class="l_k" href="functions/print.html">print</a> <span class="q">&quot;a=$$a\n&quot;</span><span class="sc">;</span></pre>
184
187
<a name="INSTANCE-VARIABLE-INHERITANCE"></a><h1>INSTANCE VARIABLE INHERITANCE</h1>
185
188
<p>This example demonstrates how one might inherit instance variables from a
197
200
        <span class="i">@ISA</span> = <span class="q">qw( Bar )</span><span class="sc">;</span></pre>
198
201
<pre class="verbatim"><a name="new"></a>        sub <span class="m">new</span> <span class="s">{</span>
199
202
                <a class="l_k" href="functions/my.html">my</a> <span class="i">$type</span> = <a class="l_k" href="functions/shift.html">shift</a><span class="sc">;</span>
200
 
                <a class="l_k" href="functions/my.html">my</a> <span class="i">$self</span> = Bar-&gt;new<span class="sc">;</span>
 
203
                <a class="l_k" href="functions/my.html">my</a> <span class="i">$self</span> = <span class="w">Bar</span><span class="w">-&gt;new</span><span class="sc">;</span>
201
204
                <span class="i">$self</span>-&gt;{<span class="q">&#39;biz&#39;</span>} = <span class="n">11</span><span class="sc">;</span>
202
205
                <a class="l_k" href="functions/bless.html">bless</a> <span class="i">$self</span><span class="cm">,</span> <span class="i">$type</span><span class="sc">;</span>
203
206
        <span class="s">}</span></pre>
204
207
<pre class="verbatim"><a name="package-main"></a>       package <span class="i">main</span><span class="sc">;</span></pre>
205
 
<pre class="verbatim">  <span class="i">$a</span> = Foo-&gt;new<span class="sc">;</span>
 
208
<pre class="verbatim">  <span class="i">$a</span> = <span class="w">Foo</span><span class="w">-&gt;new</span><span class="sc">;</span>
206
209
        <a class="l_k" href="functions/print.html">print</a> <span class="q">&quot;buz = &quot;</span><span class="cm">,</span> <span class="i">$a</span>-&gt;{<span class="q">&#39;buz&#39;</span>}<span class="cm">,</span> <span class="q">&quot;\n&quot;</span><span class="sc">;</span>
207
210
        <a class="l_k" href="functions/print.html">print</a> <span class="q">&quot;biz = &quot;</span><span class="cm">,</span> <span class="i">$a</span>-&gt;{<span class="q">&#39;biz&#39;</span>}<span class="cm">,</span> <span class="q">&quot;\n&quot;</span><span class="sc">;</span></pre>
208
211
<a name="OBJECT-RELATIONSHIPS"></a><h1>OBJECT RELATIONSHIPS</h1>
219
222
<pre class="verbatim"><a name="new"></a>        sub <span class="m">new</span> <span class="s">{</span>
220
223
                <a class="l_k" href="functions/my.html">my</a> <span class="i">$type</span> = <a class="l_k" href="functions/shift.html">shift</a><span class="sc">;</span>
221
224
                <a class="l_k" href="functions/my.html">my</a> <span class="i">$self</span> = <span class="s">{</span><span class="s">}</span><span class="sc">;</span>
222
 
                <span class="i">$self</span>-&gt;{<span class="q">&#39;Bar&#39;</span>} = Bar-&gt;new<span class="sc">;</span>
 
225
                <span class="i">$self</span>-&gt;{<span class="q">&#39;Bar&#39;</span>} = <span class="w">Bar</span><span class="w">-&gt;new</span><span class="sc">;</span>
223
226
                <span class="i">$self</span>-&gt;{<span class="q">&#39;biz&#39;</span>} = <span class="n">11</span><span class="sc">;</span>
224
227
                <a class="l_k" href="functions/bless.html">bless</a> <span class="i">$self</span><span class="cm">,</span> <span class="i">$type</span><span class="sc">;</span>
225
228
        <span class="s">}</span></pre>
226
229
<pre class="verbatim"><a name="package-main"></a>       package <span class="i">main</span><span class="sc">;</span></pre>
227
 
<pre class="verbatim">  <span class="i">$a</span> = Foo-&gt;new<span class="sc">;</span>
 
230
<pre class="verbatim">  <span class="i">$a</span> = <span class="w">Foo</span><span class="w">-&gt;new</span><span class="sc">;</span>
228
231
        <a class="l_k" href="functions/print.html">print</a> <span class="q">&quot;buz = &quot;</span><span class="cm">,</span> <span class="i">$a</span>-&gt;{<span class="q">&#39;Bar&#39;</span>}-&gt;{<span class="q">&#39;buz&#39;</span>}<span class="cm">,</span> <span class="q">&quot;\n&quot;</span><span class="sc">;</span>
229
232
        <a class="l_k" href="functions/print.html">print</a> <span class="q">&quot;biz = &quot;</span><span class="cm">,</span> <span class="i">$a</span>-&gt;{<span class="q">&#39;biz&#39;</span>}<span class="cm">,</span> <span class="q">&quot;\n&quot;</span><span class="sc">;</span></pre>
230
233
<a name="OVERRIDING-SUPERCLASS-METHODS"></a><h1>OVERRIDING SUPERCLASS METHODS</h1>
258
261
                <span class="i">$self</span><span class="i">-&gt;SUPER::google</span><span class="s">(</span><span class="s">)</span><span class="sc">;</span>
259
262
        <span class="s">}</span></pre>
260
263
<pre class="verbatim"><a name="package-main"></a>       package <span class="i">main</span><span class="sc">;</span></pre>
261
 
<pre class="verbatim">  <span class="i">$foo</span> = Foo-&gt;new<span class="sc">;</span>
 
264
<pre class="verbatim">  <span class="i">$foo</span> = <span class="w">Foo</span><span class="w">-&gt;new</span><span class="sc">;</span>
262
265
        <span class="i">$foo</span><span class="i">-&gt;mumble</span><span class="sc">;</span>
263
266
        <span class="i">$foo</span><span class="i">-&gt;grr</span><span class="sc">;</span>
264
267
        <span class="i">$foo</span><span class="i">-&gt;goo</span><span class="sc">;</span>
265
268
        <span class="i">$foo</span><span class="i">-&gt;google</span><span class="sc">;</span></pre>
266
 
<p>Note that <code class="inline">SUPER</code>
 
269
<p>Note that <code class="inline"><span class="w">SUPER</span></code>
267
270
 refers to the superclasses of the current package
268
 
(<code class="inline">Foo</code>
 
271
(<code class="inline"><span class="w">Foo</span></code>
269
272
), not to the superclasses of <code class="inline"><span class="i">$self</span></code>
270
273
.</p>
271
274
<a name="USING-RELATIONSHIP-WITH-SDBM"></a><h1>USING RELATIONSHIP WITH SDBM</h1>
272
275
<p>This example demonstrates an interface for the SDBM class.  This creates a
273
276
"using" relationship between the SDBM class and the new class Mydbm.</p>
274
277
<pre class="verbatim"><a name="package-Mydbm"></a>      package <span class="i">Mydbm</span><span class="sc">;</span></pre>
275
 
<pre class="verbatim">  <a class="l_k" href="functions/require.html">require</a> <a class="l_w" href="SDBM_File.html">SDBM_File</a><span class="sc">;</span>
276
 
        <a class="l_k" href="functions/require.html">require</a> <a class="l_w" href="Tie/Hash.html">Tie::Hash</a><span class="sc">;</span>
 
278
<pre class="verbatim">  <a class="l_k" href="functions/require.html">require</a> <span class="w">SDBM_File</span><span class="sc">;</span>
 
279
        <a class="l_k" href="functions/require.html">require</a> <span class="w">Tie::Hash</span><span class="sc">;</span>
277
280
        <span class="i">@ISA</span> = <span class="q">qw( Tie::Hash )</span><span class="sc">;</span></pre>
278
281
<pre class="verbatim"><a name="TIEHASH"></a>    sub <span class="m">TIEHASH</span> <span class="s">{</span>
279
282
            <a class="l_k" href="functions/my.html">my</a> <span class="i">$type</span> = <a class="l_k" href="functions/shift.html">shift</a><span class="sc">;</span>
280
 
            <a class="l_k" href="functions/my.html">my</a> <span class="i">$ref</span>  = <a class="l_w" href="SDBM_File.html">SDBM_File</a>-&gt;new<span class="s">(</span><span class="i">@_</span><span class="s">)</span><span class="sc">;</span>
 
283
            <a class="l_k" href="functions/my.html">my</a> <span class="i">$ref</span>  = <span class="w">SDBM_File</span><span class="w">-&gt;new</span><span class="s">(</span><span class="i">@_</span><span class="s">)</span><span class="sc">;</span>
281
284
            <a class="l_k" href="functions/bless.html">bless</a> <span class="s">{</span><span class="q">&#39;dbm&#39;</span> <span class="cm">=&gt;</span> <span class="i">$ref</span><span class="s">}</span><span class="cm">,</span> <span class="i">$type</span><span class="sc">;</span>
282
285
        <span class="s">}</span>
283
286
<a name="FETCH"></a>    sub <span class="m">FETCH</span> <span class="s">{</span>
295
298
            <span class="s">}</span>
296
299
        <span class="s">}</span></pre>
297
300
<pre class="verbatim"><a name="package-main"></a>       package <span class="i">main</span><span class="sc">;</span>
298
 
        <a class="l_k" href="functions/use.html">use</a> <a class="l_w" href="Fcntl.html">Fcntl</a> <span class="q">qw( O_RDWR O_CREAT )</span><span class="sc">;</span></pre>
299
 
<pre class="verbatim">  <a class="l_k" href="functions/tie.html">tie</a> <span class="i">%foo</span><span class="cm">,</span> <span class="q">&quot;Mydbm&quot;</span><span class="cm">,</span> <span class="q">&quot;Sdbm&quot;</span><span class="cm">,</span> O_RDWR|O_CREAT<span class="cm">,</span> <span class="n">0640</span><span class="sc">;</span>
 
301
        <a class="l_k" href="functions/use.html">use</a> <span class="w">Fcntl</span> <span class="q">qw( O_RDWR O_CREAT )</span><span class="sc">;</span></pre>
 
302
<pre class="verbatim">  <a class="l_k" href="functions/tie.html">tie</a> <span class="i">%foo</span><span class="cm">,</span> <span class="q">&quot;Mydbm&quot;</span><span class="cm">,</span> <span class="q">&quot;Sdbm&quot;</span><span class="cm">,</span> <span class="w">O_RDWR</span>|<span class="w">O_CREAT</span><span class="cm">,</span> <span class="n">0640</span><span class="sc">;</span>
300
303
        <span class="i">$foo</span>{<span class="q">&#39;bar&#39;</span>} = <span class="n">123</span><span class="sc">;</span>
301
304
        <a class="l_k" href="functions/print.html">print</a> <span class="q">&quot;foo-bar = $foo{&#39;bar&#39;}\n&quot;</span><span class="sc">;</span></pre>
302
 
<pre class="verbatim">  <a class="l_k" href="functions/tie.html">tie</a> <span class="i">%bar</span><span class="cm">,</span> <span class="q">&quot;Mydbm&quot;</span><span class="cm">,</span> <span class="q">&quot;Sdbm2&quot;</span><span class="cm">,</span> O_RDWR|O_CREAT<span class="cm">,</span> <span class="n">0640</span><span class="sc">;</span>
 
305
<pre class="verbatim">  <a class="l_k" href="functions/tie.html">tie</a> <span class="i">%bar</span><span class="cm">,</span> <span class="q">&quot;Mydbm&quot;</span><span class="cm">,</span> <span class="q">&quot;Sdbm2&quot;</span><span class="cm">,</span> <span class="w">O_RDWR</span>|<span class="w">O_CREAT</span><span class="cm">,</span> <span class="n">0640</span><span class="sc">;</span>
303
306
        <span class="i">$bar</span>{<span class="q">&#39;Cathy&#39;</span>} = <span class="n">456</span><span class="sc">;</span>
304
307
        <a class="l_k" href="functions/print.html">print</a> <span class="q">&quot;bar-Cathy = $bar{&#39;Cathy&#39;}\n&quot;</span><span class="sc">;</span></pre>
305
308
<a name="THINKING-OF-CODE-REUSE"></a><h1>THINKING OF CODE REUSE</h1>
323
326
                <a class="l_k" href="functions/print.html">print</a> <span class="q">&quot;in BAZ\n&quot;</span><span class="sc">;</span>
324
327
        <span class="s">}</span></pre>
325
328
<pre class="verbatim"><a name="package-main"></a>       package <span class="i">main</span><span class="sc">;</span></pre>
326
 
<pre class="verbatim">  <span class="i">$a</span> = FOO-&gt;new<span class="sc">;</span>
 
329
<pre class="verbatim">  <span class="i">$a</span> = <span class="w">FOO</span><span class="w">-&gt;new</span><span class="sc">;</span>
327
330
        <span class="i">$a</span><span class="i">-&gt;bar</span><span class="sc">;</span></pre>
328
331
<p>Now we try to override the BAZ() method.  We would like FOO::bar() to call
329
332
GOOP::BAZ(), but this cannot happen because FOO::bar() explicitly calls
351
354
                <a class="l_k" href="functions/print.html">print</a> <span class="q">&quot;in GOOP::BAZ\n&quot;</span><span class="sc">;</span>
352
355
        <span class="s">}</span></pre>
353
356
<pre class="verbatim"><a name="package-main"></a>       package <span class="i">main</span><span class="sc">;</span></pre>
354
 
<pre class="verbatim">  <span class="i">$a</span> = GOOP-&gt;new<span class="sc">;</span>
 
357
<pre class="verbatim">  <span class="i">$a</span> = <span class="w">GOOP</span><span class="w">-&gt;new</span><span class="sc">;</span>
355
358
        <span class="i">$a</span><span class="i">-&gt;bar</span><span class="sc">;</span></pre>
356
359
<p>To create reusable code we must modify class FOO, flattening class
357
360
FOO::private.  The next example shows a reusable class FOO which allows the
378
381
                <a class="l_k" href="functions/print.html">print</a> <span class="q">&quot;in GOOP::BAZ\n&quot;</span><span class="sc">;</span>
379
382
        <span class="s">}</span></pre>
380
383
<pre class="verbatim"><a name="package-main"></a>       package <span class="i">main</span><span class="sc">;</span></pre>
381
 
<pre class="verbatim">  <span class="i">$a</span> = GOOP-&gt;new<span class="sc">;</span>
 
384
<pre class="verbatim">  <span class="i">$a</span> = <span class="w">GOOP</span><span class="w">-&gt;new</span><span class="sc">;</span>
382
385
        <span class="i">$a</span><span class="i">-&gt;bar</span><span class="sc">;</span></pre>
383
386
<a name="CLASS-CONTEXT-AND-THE-OBJECT"></a><h1>CLASS CONTEXT AND THE OBJECT</h1>
384
387
<p>Use the object to solve package and class context problems.  Everything a
414
417
<pre class="verbatim">  <span class="i">%fizzle</span> = <span class="s">(</span> <span class="q">&#39;Password&#39;</span> <span class="cm">=&gt;</span> <span class="q">&#39;Rumple&#39;</span> <span class="s">)</span><span class="sc">;</span></pre>
415
418
<pre class="verbatim"><a name="new"></a>        sub <span class="m">new</span> <span class="s">{</span>
416
419
                <a class="l_k" href="functions/my.html">my</a> <span class="i">$type</span> = <a class="l_k" href="functions/shift.html">shift</a><span class="sc">;</span>
417
 
                <a class="l_k" href="functions/my.html">my</a> <span class="i">$self</span> = Bar-&gt;new<span class="sc">;</span>
 
420
                <a class="l_k" href="functions/my.html">my</a> <span class="i">$self</span> = <span class="w">Bar</span><span class="w">-&gt;new</span><span class="sc">;</span>
418
421
                <span class="i">$self</span>-&gt;{<span class="q">&#39;fizzle&#39;</span>} = \<span class="i">%fizzle</span><span class="sc">;</span>
419
422
                <a class="l_k" href="functions/bless.html">bless</a> <span class="i">$self</span><span class="cm">,</span> <span class="i">$type</span><span class="sc">;</span>
420
423
        <span class="s">}</span></pre>
421
424
<pre class="verbatim"><a name="package-main"></a>       package <span class="i">main</span><span class="sc">;</span></pre>
422
 
<pre class="verbatim">  <span class="i">$a</span> = Bar-&gt;new<span class="sc">;</span>
423
 
        <span class="i">$b</span> = Foo-&gt;new<span class="sc">;</span>
 
425
<pre class="verbatim">  <span class="i">$a</span> = <span class="w">Bar</span><span class="w">-&gt;new</span><span class="sc">;</span>
 
426
        <span class="i">$b</span> = <span class="w">Foo</span><span class="w">-&gt;new</span><span class="sc">;</span>
424
427
        <span class="i">$a</span><span class="i">-&gt;enter</span><span class="sc">;</span>
425
428
        <span class="i">$b</span><span class="i">-&gt;enter</span><span class="sc">;</span></pre>
426
429
<a name="INHERITING-A-CONSTRUCTOR"></a><h1>INHERITING A CONSTRUCTOR</h1>
442
445
                <a class="l_k" href="functions/print.html">print</a> <span class="q">&quot;in BAR::baz()\n&quot;</span><span class="sc">;</span>
443
446
        <span class="s">}</span></pre>
444
447
<pre class="verbatim"><a name="package-main"></a>       package <span class="i">main</span><span class="sc">;</span></pre>
445
 
<pre class="verbatim">  <span class="i">$a</span> = BAR-&gt;new<span class="sc">;</span>
 
448
<pre class="verbatim">  <span class="i">$a</span> = <span class="w">BAR</span><span class="w">-&gt;new</span><span class="sc">;</span>
446
449
        <span class="i">$a</span><span class="i">-&gt;baz</span><span class="sc">;</span></pre>
447
450
<a name="DELEGATION"></a><h1>DELEGATION</h1>
448
451
<p>Some classes, such as SDBM_File, cannot be effectively subclassed because
454
457
exactly like an SDBM_File object.  The Mydbm class could now extend the
455
458
behavior by adding custom FETCH() and STORE() methods, if this is desired.</p>
456
459
<pre class="verbatim"><a name="package-Mydbm"></a>      package <span class="i">Mydbm</span><span class="sc">;</span></pre>
457
 
<pre class="verbatim">  <a class="l_k" href="functions/require.html">require</a> <a class="l_w" href="SDBM_File.html">SDBM_File</a><span class="sc">;</span>
458
 
        <a class="l_k" href="functions/require.html">require</a> <a class="l_w" href="Tie/Hash.html">Tie::Hash</a><span class="sc">;</span>
 
460
<pre class="verbatim">  <a class="l_k" href="functions/require.html">require</a> <span class="w">SDBM_File</span><span class="sc">;</span>
 
461
        <a class="l_k" href="functions/require.html">require</a> <span class="w">Tie::Hash</span><span class="sc">;</span>
459
462
        <span class="i">@ISA</span> = <span class="q">qw(Tie::Hash)</span><span class="sc">;</span></pre>
460
463
<pre class="verbatim"><a name="TIEHASH"></a>    sub <span class="m">TIEHASH</span> <span class="s">{</span>
461
464
                <a class="l_k" href="functions/my.html">my</a> <span class="i">$type</span> = <a class="l_k" href="functions/shift.html">shift</a><span class="sc">;</span>
462
 
                <a class="l_k" href="functions/my.html">my</a> <span class="i">$ref</span> = <a class="l_w" href="SDBM_File.html">SDBM_File</a>-&gt;new<span class="s">(</span><span class="i">@_</span><span class="s">)</span><span class="sc">;</span>
 
465
                <a class="l_k" href="functions/my.html">my</a> <span class="i">$ref</span> = <span class="w">SDBM_File</span><span class="w">-&gt;new</span><span class="s">(</span><span class="i">@_</span><span class="s">)</span><span class="sc">;</span>
463
466
                <a class="l_k" href="functions/bless.html">bless</a> <span class="s">{</span><span class="q">&#39;delegate&#39;</span> <span class="cm">=&gt;</span> <span class="i">$ref</span><span class="s">}</span><span class="sc">;</span>
464
467
        <span class="s">}</span></pre>
465
468
<pre class="verbatim">  sub AUTOLOAD {
472
475
<pre class="verbatim">          # Pass the message to the delegate.
473
476
                $self-&gt;{'delegate'}-&gt;$AUTOLOAD(@_);
474
477
        }</pre><pre class="verbatim"><a name="package-main"></a>        package <span class="i">main</span><span class="sc">;</span>
475
 
        <a class="l_k" href="functions/use.html">use</a> <a class="l_w" href="Fcntl.html">Fcntl</a> <span class="q">qw( O_RDWR O_CREAT )</span><span class="sc">;</span></pre>
476
 
<pre class="verbatim">  <a class="l_k" href="functions/tie.html">tie</a> <span class="i">%foo</span><span class="cm">,</span> <span class="q">&quot;Mydbm&quot;</span><span class="cm">,</span> <span class="q">&quot;adbm&quot;</span><span class="cm">,</span> O_RDWR|O_CREAT<span class="cm">,</span> <span class="n">0640</span><span class="sc">;</span>
 
478
        <a class="l_k" href="functions/use.html">use</a> <span class="w">Fcntl</span> <span class="q">qw( O_RDWR O_CREAT )</span><span class="sc">;</span></pre>
 
479
<pre class="verbatim">  <a class="l_k" href="functions/tie.html">tie</a> <span class="i">%foo</span><span class="cm">,</span> <span class="q">&quot;Mydbm&quot;</span><span class="cm">,</span> <span class="q">&quot;adbm&quot;</span><span class="cm">,</span> <span class="w">O_RDWR</span>|<span class="w">O_CREAT</span><span class="cm">,</span> <span class="n">0640</span><span class="sc">;</span>
477
480
        <span class="i">$foo</span>{<span class="q">&#39;bar&#39;</span>} = <span class="n">123</span><span class="sc">;</span>
478
481
        <a class="l_k" href="functions/print.html">print</a> <span class="q">&quot;foo-bar = $foo{&#39;bar&#39;}\n&quot;</span><span class="sc">;</span></pre>
479
482
<a name="SEE-ALSO"></a><h1>SEE ALSO</h1>
495
498
          <!--<select name="r"><option value="1" selected>Go to top result<option value="0">Show results list</select>-->
496
499
        </form>
497
500
      </p>
 
501
      <script language="JavaScript" type="text/javascript" src="/perl-version.js"></script>
498
502
      <h2>Labels:</h2>
499
503
      <p>
500
504
        <a href="#" onClick="addLabel('perlbot','perlbot.html')">Add this page</a>