Я пишу свой собственный модуль, в котором я определил три функции:
package YUCO::Test;
use 5.008008;
use strict;
use warnings;
require Exporter;
use AutoLoader qw(AUTOLOAD);
use Method::Signatures;
our @ISA = qw(Exporter);
our %EXPORT_TAGS = ( 'all' => [ qw() ] );
our @EXPORT_OK = ( @{ $EXPORT_TAGS{'all'} } );
our @EXPORT = qw( Test1 Test2 Test3 );
our $VERSION = '0.01';
#-----------------------------------------------------
func Test1( Str $a='' )
{
print ' ok from Test1, and a is : '.$a."\n";
}
#-----------------------------------------------------
func Test2( Str $a='' )
{
print ' ok from Test2, and a is : '.$a."\n";
}
#-----------------------------------------------------
func Test3( Str $a='' )
{
print ' ok from Test3, and a is : '.$a."\n";
}
#-----------------------------------------------------
1;
__END__
, а затем, когда я делаю тестовую программу со следующими строками:
#!/usr/bin/perl -w
use strict;
use warnings;
use YUCO::Test qw( Test1 Test2 Test3 );
Test1( 'a ar' );
Test2( 'b lo' );
Test3( '..c..' );
Test1();
Test2();
Test3();
он имеетвывод, подобный этому, который имеет некоторую странную / случайную последовательность вывода:
ok from Test2, and a is : b lo
ok from Test3, and a is : ..c..
ok from Test2, and a is :
ok from Test3, and a is :
ok from Test1, and a is : a ar
ok from Test1, and a is :
, но они не являются абсолютно случайными в том смысле, что каждый раз, когда я запускаю скрипт, он будет иметь точную последовательностькак это.