在tutorial中,有一个Person类的代码。你能向我解释第21/27行的目的吗?我理解像$ _和@_这样的概念,并且我知道my
用于声明本地引用,但我不了解这些代码上下文中的那些行。在Perl函数中声明变量
1 #!/usr/bin/perl
2
3 package Person;
4
5 sub new
6 {
7 my $class = shift;
8 my $self = {
9 _firstName => shift,
10 _lastName => shift,
11 _ssn => shift,
12 };
13 # Print all the values just for clarification.
14 print "First Name is $self->{_firstName}\n";
15 print "Last Name is $self->{_lastName}\n";
16 print "SSN is $self->{_ssn}\n";
17 bless $self, $class;
18 return $self;
19 }
20 sub setFirstName {
21 my ($self, $firstName) = @_;
22 $self->{_firstName} = $firstName if defined($firstName);
23 return $self->{_firstName};
24 }
25
26 sub getFirstName {
27 my($self) = @_;
28 return $self->{_firstName};
29 }
30 1;
如果您有兴趣做OO Perl中,我会强烈建议考虑看看[穆斯(https://metacpan.org/module/Moose),这使得很多是重复的样板消失。有一个很好的介绍驼鹿在(免费)的书[现代的Perl](http://onyxneon.com/books/modern_perl/) – friedo
[perlootut](http://search.cpan.org/perldoc?perlootut)是官方文档中的现代Perl OO教程。 – daxim