面向对象的 Perl

面向对象的 Perl

请指教如何在我的 Linux 机器上安装 Person 模块“use Person;” perl 脚本使用 - 面向对象

为什么我会得到以下信息:

 [root@linux /tmp/Pogo-0.10]# perl Makefile.PL
 Note (probably harmless): No library found for -lg++
 Note (probably harmless): No library found for -lgcc
 Note (probably harmless): No library found for -lclient
 Writing Makefile for Pogo


[root@linux /tmp/Pogo-0.10]# make


g++ -c  -I/usr/local/goods/inc -fno-strict-aliasing -pipe -Wdeclaration-after-statement -    
I/usr/local/include -D_LARGEFILE_SOURCE -Dc
/bin/sh: g++: command not found
make: *** [Pogo.o] Error 127

我的 perl 脚本:

#!/usr/bin/perl


use strict;
use warnings;
use Person;

 my $p = Person->new();

 $p->varName('Anna');

 $p->varAge(30);

 print $p->varName." is ".$p->varAge." years old.\n";

答案1

面向对象的 Perl

如果你的重点是学习面向对象的 Perl,而不是学习 Pogo,我建议你只需按照 perl 的内置教程之一运行以下命令:perldoc perltoot。这将很快引导您找到以下解决方案:

文件 Person.pm

包裹人;
使用严格;

子新{
  我的 $self = {};
  $self->{名称} = undef;
  $self->{AGE} = undef;
  祝福$self;
  返回$self;
}

子变量名称 {
  我的 $self = shift;
  如果(@_){$ self-> {NAME} = shift; }
  返回 $self->{NAME}
}

子变量{
  我的 $self = shift;
  如果(@_){$self->{AGE} = shift; }
  返回 $self->{AGE}
}

1;

文件 person.pl

/usr/bin/perl 的 #!
使用严格;
使用警告;
使用人员;

我的 $p = Person->new();
$p->varName('安娜');
$p->年龄(30);
打印 $p->varName." 是 ".$p->varAge." 岁。\n";

运行它:

 $ perl person.pl
 Anna is 30 years old.

Perl 模块

你问

如何安装 Person 模块

您似乎正在安装一个名为波戈没有一个名叫“人”的人。

为什么我会得到以下信息:...... /bin/sh: g++: command not found

似乎你没有安装完整的开发工具包。你检查过你的 Linux 发行版的文档吗?每个不同的发行版都有自己的包管理器您可以用来安装开发套件。

您可以尝试使用cpan命令,但我预计你可能会遇到同样的问题。


RHEL 开发工具

为了安装非“纯 perl”的 perl 模块,您需要一个 C 或 C++ 编译器以及一些其他工具和库。以下内容摘自 Slicehost文章我认为这通常适用于 RHEL 5.4(我使用 CentOS,因此没有直接安装 RHEL 软件包的经验)

软件包存储库

RHEL 带有一组基本的存储库。

运行以下命令查看已启用的存储库:

sudo yum repolist enabled

列出的每个存储库都应包括简短的描述和该源可用的软件包数量。

如果您想查看指向每个存储库的配置文件,它们存储在以下目录中:

/etc/yum.repos.d

如果您查看其中一个文件,您将看到每个存储库都有一组定义,包括使用哪个镜像和使用哪个 gpg 密钥(以及实际上是否要检查包签名)。

当然,您可以随时添加更多存储库,但我只想提醒一下:一些可用的存储库不受官方支持,如果发现漏洞,可能不会收到任何安全更新。

更新

现在我们可以更新 yum 使用的软件包列表。

以下命令还将提供安装任何更新的软件包。与所有安装一样,请仔细查看列表,如果满意,请按“y”继续:

sudo yum update

一旦安装了所有更新,我们就可以继续安装一些基本软件包。

开发工具

RHEL 有一些方便的元包,其中包括单一用途所需的预定义程序集。

因此,您无需安装十几个不同名称的软件包,只需安装一个元软件包即可。其中一个元软件包名为“开发工具”。发出以下命令:

sudo yum groupinstall 'Development Tools'

请注意,要安装的程序包括 gcc、make、patch 等。所有这些都是许多其他程序正确安装所必需的。确实是一个整洁的系统。

输入‘y’并安装它们。

现在我们已经拥有了从源代码构建应用程序所需的软件包。

完毕


CentOS

如果您没有支付 RHEL 订阅费用并注册,我怀疑您可能无法访问 RedHat 软件包存储库。因此,您将无法安装软件包,例如开发工具。有办法解决这个问题,但明智的做法是安装 CentOS - 它几乎与 RedHat 完全一样(省略了 RedHat 商标和版权图像等),但有可用的存储库,无需支付订阅费即可使用。

相关内容