Объектно-ориентированный Perl
Если вы сосредоточены на изучении объектно-ориентированного Perl, а не на Pogo, я предлагаю вам просто следовать одному из встроенных руководств Perl, выполнив команду: perldoc perltoot
. Это быстро приведет вас к следующему решению:
файл Person.pm
package Person;
use strict;
sub new {
my $self = {};
$self->{NAME} = undef;
$self->{AGE} = undef;
bless $self;
return $self;
}
sub varName {
my $self = shift;
if (@_) { $self->{NAME} = shift; }
return $self->{NAME}
}
sub varAge {
my $self = shift;
if (@_) { $self->{AGE} = shift; }
return $self->{AGE}
}
1;
файл person.pl
#!/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";
Запуск это:
$ perl person.pl
Anna is 30 years old.
Модули Perl
Вы спрашивали
как установить модуль Person
Вы, кажется, устанавливаете модуль с именем Pogo, а не с именем "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, изображений, защищенных авторским правом и т.д.), Но имеет рабочие репозитории, которые можно использовать без оплаты абонентской платы.