Hello Monks
I am trying to learn how to build a module. I read chapter 7 in Perl in a Nutshell and got most of it down. I was able to call my functions and get the desired responses. Then I wanted to try and make a constructor. My program used to return a string, now it returns some type of hash reference. I know I am not making sense, so let me show you what I mean.
#file caller.plx
require mytest;
use strict;
my ($mt) = new mytest;
$mt->put_name("Yoda");
print "The name is ".$mt->get_name()."\n";
######file mytest.pm
use strict;
my $name;
sub new {
my $self = {};
bless $self;
return $self;
}
sub get_name {
if (defined ($name)) {
return $name;
} else {
return "error";
}
}
sub put_name {
$name = "$_[0]";
}
1;
This is what I get
The name is mytest=HASH(0x176f1e8)
What I was expecting was
The name is Yoda
Is there a good source to learn about building constructors?
Thanks!
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|