私はあまりにも長い間 Perl の世界から離れていました。子モジュールを作成し、その機能にアクセスしたいと考えています。基本的に、これらを接続してメソッドにアクセスする方法がありません。
親の例: WWW::Foo
package WWW::Foo
use strict;
use warnings;
require Exporter;
our @ISA = qw(Exporter);
our %EXPORT_TAGS = ( 'all' => [ qw( new ) ] );
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
our @EXPORT = qw( );
our $VERSION = '0.01';
sub new {
my ($package) = @_;
$package::account_name = "Paul";
return bless({}, $package);
}
子の例: WWW::Foo::Bar
package WWW::Foo::Bar
use strict;
use warnings;
require Exporter;
our @ISA = qw(Exporter);
our %EXPORT_TAGS = ( 'all' => [ qw( new ) ] );
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
our @EXPORT = qw( );
our $VERSION = '0.01';
sub print_name {
my ($package) = @_;
# Access parent's package and do basic print.
return;
}
スクリプト例
#!/usr/bin/perl -w
use strict;
use WWW::Foo;
use WWW::Foo::Bar;
my $foo = new WWW::Foo();
# Access WWW::Foo::Bar's print_name function