使用Perl语言建立子程序进行查找两个列表中相同元素的代码
时间: 2024-05-08 07:15:40 浏览: 85
Perl中的子程序学习笔记
以下是使用Perl语言建立子程序进行查找两个列表中相同元素的代码:
```perl
#!/usr/bin/perl
use strict;
use warnings;
sub find_common_elements {
my ($list1_ref, $list2_ref) = @_;
my %hash1;
my %common_elements;
foreach my $element (@$list1_ref) {
$hash1{$element} = 1;
}
foreach my $element (@$list2_ref) {
if (exists $hash1{$element}) {
$common_elements{$element} = 1;
}
}
return keys %common_elements;
}
my @list1 = (1, 2, 3, 4, 5);
my @list2 = (3, 4, 5, 6, 7);
my @common_elements = find_common_elements(\@list1, \@list2);
print "Common Elements: @common_elements\n";
```
这个代码中,我们定义了一个名为 `find_common_elements` 的子程序,它接受两个数组引用作为参数。在子程序内部,我们首先将第一个数组中的所有元素存储在一个哈希表中。然后,我们遍历第二个数组中的元素,如果它在第一个数组中也存在,则将其添加到一个名为 `common_elements` 的哈希表中。最后,我们返回所有的相同元素。
在主程序中,我们定义了两个数组 `@list1` 和 `@list2`。我们将它们传递给 `find_common_elements` 子程序,并将返回的相同元素存储在 `@common_elements` 数组中。最后,我们打印出这些共同元素。
这段代码输出结果如下:
```
Common Elements: 3 4 5
```
阅读全文