From: padre@elte.hu Date: Wed, 10 Mar 2004 17:05:09 +0000 (+0000) Subject: [perl #27567] [patch] a typo and a mistake in perltoot.pod X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=commitdiff_plain;h=0184c62dc331bcf7dca96c57c46dafcd327c65e7;p=p5sagit%2Fp5-mst-13.2.git [perl #27567] [patch] a typo and a mistake in perltoot.pod From: "padre@elte.hu (via RT)" Message-ID: p4raw-id: //depot/perl@22497 --- diff --git a/pod/perltoot.pod b/pod/perltoot.pod index 2497063..8d224dd 100644 --- a/pod/perltoot.pod +++ b/pod/perltoot.pod @@ -1131,9 +1131,9 @@ above, just add this to Person.pm: our $VERSION = '1.1'; -and then in Employee.pm could you can say +and then in Employee.pm you can say - use Employee 1.1; + use Person 1.1; And it would make sure that you have at least that version number or higher available. This is not the same as loading in that exact version @@ -1497,10 +1497,10 @@ Here's a simple example of using it: struct 'Fred' => { one => '$', many => '@', - profession => Jobbie, # calls Jobbie->new() + profession => 'Jobbie', # does not call Jobbie->new() }; - $ob = Fred->new; + $ob = Fred->new(profession => Jobbie->new()); $ob->one("hmmmm"); $ob->many(0, "here"); @@ -1514,6 +1514,10 @@ You can declare types in the struct to be basic Perl types, or user-defined types (classes). User types will be initialized by calling that class's new() method. +Take care that the C object is not created automatically by the +C class's new() method, so you should specify a C object +when you create an instance of C. + Here's a real-world example of using struct generation. Let's say you wanted to override Perl's idea of gethostbyname() and gethostbyaddr() so that they would return objects that acted like C structures. We don't