perlmodlibに記載されているように、モジュール名は大文字で始める必要があります。
integer
Perlは、やのような「プラグマ」モジュールの小文字のモジュール名を非公式に予約しますstrict
。他のモジュールは通常、大文字で始まり、アンダースコアのない混合大文字を使用します(短くてポータブルである必要があります)。
別のパッケージで定義されたサブを呼び出す1つの方法は、呼び出すときにそのサブの名前を完全に修飾することです。
SettingsGeneral::printScreen "important message\n";
への参照だけが必要な場合はprintScreen
、バックスラッシュ演算子を使用して取得します
my $subref = \&SettingsGeneral::printScreen;
のいずれかでそれを呼び出します
&$subref("one\n");
&{$subref}("two\n");
$subref->("three\n");
現在のパッケージにエイリアスを作成できます。
*printScreen = \&SettingsGeneral::printScreen;
printScreen("another urgent flash\n");
次のように記述して、括弧をスキップします(現在のパッケージのサブはコンパイル時に認識されていなかったために必要です)。
use subs 'printScreen';
*printScreen = \&SettingsGeneral::printScreen;
printScreen "the sky is falling!\n";
Exporterモジュールは、この管理作業を実行できます。
SettingsGeneral.pm:
package SettingsGeneral;
use Exporter 'import';
our @EXPORT = qw/ printScreen /;
sub printScreen {
print $_[0];
}
1;
主要:
#! /usr/bin/perl
use warnings;
use strict;
use SettingsGeneral;
printScreen "foo!\n";