在PERL / AGI中从数组中随机选择

问题描述 投票:0回答:1

我有一个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 < ======== ");
perl agi
1个回答
1
投票

rand EXPR0EXPR之间生成一个随机数。您可以使用此行为来获取数组的随机元素:

my @predefined = (
    '+41240000000',
    '+41240000003',
    '+41240000007'
);
my $number = $predefined[rand(@predefined)];
© www.soinside.com 2019 - 2024. All rights reserved.