我需要使用Perl编写一个union函数,我所做的就是这里,问题后面是代码。
PDFont font = PDType1Font.HELVETICA ;
PDDocument doc = new PDDocument();
PDPage page = new PDPage();
PDPageContentStream content = new PDPageContentStream(doc, page);
content.beginText();
content.moveTextPositionByAmount(10, 700);
content.setFont(font, 12);
content.drawString("start text ");
content.newLineAtOffset(0, -15);
content.drawString("text in new line ");
content.endText();
content.close();
doc.addPage(page);
doc.save("file.pdf");
所以没有我的命令部分,我的输出是随机顺序的b c d f g h,但是我想按随机顺序将它们设为1 2 3 4,就像我在@uList中写入输入一样。另外我需要检查调用者是否需要一个列表,如果是,它将以随机顺序返回1 2 3 4,否则,它将返回一个comman-seperate字符串的union,应该是1,2,3,4随机订购。所以我想知道我应该在if else语句的条件部分做什么。
答案 0 :(得分:2)
使用@_
变量检索子例程参数。
要创建哈希键,可以让值未定义。
#! /usr/bin/perl
use warnings;
use strict;
sub union {
my ($aref1, $aref2) = @_;
my %union;
@union{ @$aref1, @$aref2 } = ();
return keys %union
}
my @union = union([1, 2, 3], [2, 3, 4]);
print "@union\n";
或
my $union = join ',', union([1, 2, 3], [2, 3, 4]);
print "$union\n";