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/perl
use 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对象。然后,我们可以使用箭头运算符(->)来访问对象的方法。