Perl支持面向对象编程(Object-Oriented Programming, OOP),通过使用模块(Module)和类(Class)来实现。以下是一个简单的Perl面向对象示例:
首先,我们创建一个Person类,表示一个人:
# Person.pm
package Person;sub new {my ($class, $name, $age) = @_;my $self = {name => $name,age => $age,};bless $self, $class;return $self;
}sub get_name {my ($self) = @_;return $self->{name};
}sub get_age {my ($self) = @_;return $self->{age};
}1; # Important! Perl modules must return a true value.
然后,我们使用这个Person类创建对象,并访问对象的属性和方法:
#!/usr/bin/perluse strict;
use warnings;
use Person;# 创建一个新的Person对象
my $person1 = Person->new("Alice", 30);
my $person2 = Person->new("Bob", 25);# 访问对象的属性和方法
print $person1->get_name(), " is ", $person1->get_age(), " years old.\n";
print $person2->get_name(), " is ", $person2->get_age(), " years old.\n";
运行上述Perl脚本,输出将会是:
Alice is 30 years old.
Bob is 25 years old.
在这个示例中,我们创建了一个Person类,它具有name和age属性,以及get_name和get_age方法来访问这些属性。通过使用bless函数,我们把一个哈希引用绑定到Person类,从而创建了一个Person对象。然后,我们可以使用箭头运算符(->)来访问对象的方法。