请指教如何在我的 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 商标和版权图像等),但有可用的存储库,无需支付订阅费即可使用。