如果我想检查我的联合是否是perl中的列表或字符串应该怎么做

时间:2017-12-09 18:42:54

标签: perl perl-module

我需要使用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语句的条件部分做什么。

1 个答案:

答案 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";