我是 Perl 的新手,希望每个文件都将该文件的内容推送到一个单独的数组中,我设法通过以下方式做到了这一点,它使用了 if 语句。但是,我想为我的阵列提供 1 美元之类的东西。那可能吗?
#!/usr/bin/perl
use strict;
my @karray;
my @sarray;
my @testarr = (@sarray,@karray);
my $stemplate = "foo.txt";
my $ktemplate = "bar.txt";
sub pushf2a {
open(IN, "<$_[0]") || die;
while (<IN>) {
if ($_[0] eq $stemplate) {
push (@sarray,$_);
} else {
push (@karray,$_);
}
}
close(IN) || die $!;
}
&pushf2a($stemplate,@sarray);
&pushf2a($ktemplate,@karray);
print sort @sarray;
print sort @karray;
我想要这样的东西:
#!/bin/sh
myfoo=(@s,@k)
barf() {
pushtoarray $1
}
barf @s
barf @k