G
grocery_stocker
I have question about line 10 for the following code.
1 #!/usr/bin/perl
2
3 { package Horse;
4 @ISA = qw(Animal);
5 sub sound {"neigh" }
6 sub names {
7 print $_[0] , "\n";
8 $self = shift;
9 #print @_ , "\n";
10 $$self;
11 }
12 sub named {
13 $class = shift;
14 $name = shift;
15 bless \$name, $class;
16 }
17 }
18
19 my $tv_horse = Horse->named("Mr. Ed");
20 print $tv_horse->names, "\n";
21 print Horse->named("Mr. Ed"), "\n";
What is $$self actually de-referencing? I thought it was de-referencing
$name. But when I replace $$self; with $self->{'name'};, I get "Not
HASH reference at ./9-horse.pl line 10."
Chad
1 #!/usr/bin/perl
2
3 { package Horse;
4 @ISA = qw(Animal);
5 sub sound {"neigh" }
6 sub names {
7 print $_[0] , "\n";
8 $self = shift;
9 #print @_ , "\n";
10 $$self;
11 }
12 sub named {
13 $class = shift;
14 $name = shift;
15 bless \$name, $class;
16 }
17 }
18
19 my $tv_horse = Horse->named("Mr. Ed");
20 print $tv_horse->names, "\n";
21 print Horse->named("Mr. Ed"), "\n";
What is $$self actually de-referencing? I thought it was de-referencing
$name. But when I replace $$self; with $self->{'name'};, I get "Not
HASH reference at ./9-horse.pl line 10."
Chad