私はPerlを初めて使用し、ファイルごとにそのファイルの内容を1つの個別の配列にプッシュしたいのですが、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