Как применить «использовать базу» в Perl для наследования субтитров из некоторого базового модуля?Как я могу наследовать подпрограммы в Perl с 'use base'?
Я привык к механике наследования C++, и все сайты, которые я искал для этого, вызвали больше путаницы, а затем помогли. Я хочу сделать примерно следующее:
#! /usr/bin/perl
#The base class to inherit from
use strict;
use warnings;
package 'TestBase';
#-------------------------------
sub tbSub
{
my ($self, $parm) = @_;
print "\nTestBase: $parm\n";
}
1;
.
#! /usr/bin/perl
#The descendent class
use strict;
use warnings;
use base qw(TestBase);
sub main;
sub mySub;
#-------------------------------
#Entry point...
main();
#---code------------------------
sub main
{
mySub(1);
tbSub(2);
mySub(3);
}
#-------------------------------
sub mySub
{
my $parm = shift;
print "\nTester: $parm\n";
}
Perl жалуется/не может найти tbSub.
Нет, это не так называется - оно будет искать иерархию наследования, поэтому может вызвать sub в совершенно другом пакете. Кроме того, ваши примеры не являются допустимым синтаксисом. (Я знаю, что вы пытались сказать, но, как вы сказали, это должно смутить кого-то, как путаницу, как OP еще дальше.) – 2008-11-03 11:57:58
Конечно, он ходит по дереву наследования. В конце концов, вопрос о наследовании. Обратите внимание, что OP используется для использования наследования C++, поэтому я думал, что это будет очевидно. – tsee 2008-11-03 12:51:11