我喜欢import使用而Exporter不是. Perl 不知道他刚刚导入的变量。requireuse
Perl 模块示例:
package TheModule;
use strictures;
use base 'Exporter';
use Const::Fast qw( const );
const our $TEST_VAR_1 => 'Test variable 1';
our @EXPORT_OK = qw( $TEST_VAR_1 );
our %EXPORT_TAGS = ( TEST_VAR => [qw( $TEST_VAR_1 )] );
Perl 脚本示例
#!/usr/bin/perl
use strictures;
require TheModule;
TheModule->import( ':TEST_VAR' );
printf "Test variable 1 contains: %s\n", $TEST_VAR_1;
以下示例有效,但我必须使用require而不是use.
#!/usr/bin/perl
use strictures;
use TheModule ( ':TEST_VAR' );
printf "Test variable 1 contains: %s\n", $TEST_VAR_1;
$TEST_VAR_1环境内如何导入require?