从嵌入式Perl脚本返回多个值

时间:2014-12-04 01:07:57

标签: perl

我有一个嵌入在C程序中的Perl脚本。我想从Perl脚本返回一个整数数组。但是,要返回的整数的数量n是程序的输入,不能在Perl脚本中进行硬编码。有没有办法做到这一点?以下是一些例子:

示例1(n已知并且在PERL子例程中等于2):

@num = {1, 2, 3, 4};
($num[0], $num[1]); // works, returns the two values 

示例2(n未知):

@num = {1, 2, 3, 4}; 
(@num); // does not work

示例3(n未知):

@num = {1, 2, 3, 4};
$string = "($num[0], $num[1], $num[2], $num[3])";
$string; // does not work

1 个答案:

答案 0 :(得分:3)

注意,{ }用于HASH引用。我想你只需要:

my @num = qw/1 2 3 4/;
@num;

my @num = (1, 2, 3, 4);
@num;

my @num = (1..4);
@num;

或使用ARRAY参考:

my $num = [1, 2, 3, 4];
@$num;