在 PERL / AGI 中从数组中随机 Select
Randomly Select from Array in PERL / AGI
我有一个 PERL 脚本(不确定),它可以为 Asterisk / GoAutodial CRM 生成一个随机数(来电显示)。
生成的号码以“+4124*******”开头,其余号码为随机数。
如何将其更改为预定义数组,例如:
$numbers = array (
'+41240000000',
'+41240000003',
'+41240000007'
);
这里是 changernum.agi
代码:
#!/usr/bin/perl -w
$|=1;
use Net::Ping;
use Asterisk::AGI;
$AGI = new Asterisk::AGI;
my %input = $AGI->ReadParse();
my ($number, $idv) = @ARGV;
$number="+4124".int(rand(10)).int(rand(10)).int(rand(10)).int(rand(10)).int(rand(10)).int(rand(10)).int(rand(10));
***I think I need something here***
$AGI->exec("SET numafficher=$number");
$AGI->verbose( "******* / **** / > Numero: $number < ======== ");
rand EXPR 生成一个介于 0
和 EXPR
之间的随机数。您可以使用此行为来获取数组的随机元素:
my @predefined = (
'+41240000000',
'+41240000003',
'+41240000007'
);
my $number = $predefined[rand(@predefined)];
我有一个 PERL 脚本(不确定),它可以为 Asterisk / GoAutodial CRM 生成一个随机数(来电显示)。
生成的号码以“+4124*******”开头,其余号码为随机数。
如何将其更改为预定义数组,例如:
$numbers = array (
'+41240000000',
'+41240000003',
'+41240000007'
);
这里是 changernum.agi
代码:
#!/usr/bin/perl -w
$|=1;
use Net::Ping;
use Asterisk::AGI;
$AGI = new Asterisk::AGI;
my %input = $AGI->ReadParse();
my ($number, $idv) = @ARGV;
$number="+4124".int(rand(10)).int(rand(10)).int(rand(10)).int(rand(10)).int(rand(10)).int(rand(10)).int(rand(10));
***I think I need something here***
$AGI->exec("SET numafficher=$number");
$AGI->verbose( "******* / **** / > Numero: $number < ======== ");
rand EXPR 生成一个介于 0
和 EXPR
之间的随机数。您可以使用此行为来获取数组的随机元素:
my @predefined = (
'+41240000000',
'+41240000003',
'+41240000007'
);
my $number = $predefined[rand(@predefined)];