top -n1
Linux システム コマンドを配列に割り当て、テキスト ファイルに書き込まれたテキストの最初の 7 行を削除しようとしています。配列から要素を出力しようとすると、初期化されていない値が使用されているというエラーが表示されます。私のアレイをシステムコマンドに割り当てるときに、私が間違っていることを誰かが示すことができますか? ありがとうございました。
編集:配列スライスを使用して最初の 7 行を削除しようとしています。
sub processlist
{
my $num_of_lines = 0;
my @top_command = `top -bn1 >toptmp.txt`;
#opening temp file, and output file.
open(my $in, '<' , "toptmp.txt") or die "Can't read the file: $!"; #file used for initial reading
open(my $out, '>', "top.txt") or die "can't write to file: $!";
print $top_command[0], "\n";
#looping deleting first 7 lines
while(<$in>)
{
if($num_of_lines > 6) #starts writing to top.txt past line 7 (counting starts at 0)
{
print $out $_;
}
$num_of_lines++;
}
close $out;
close $in;
system("rm toptmp.txt"); #erasing tmp file.
}