2

簡単な質問があります。私は zoidberg perl シェルを使用して、インタラクティブに perl に慣れてきました。スクリプトを具体化する前に、その場で自分のものをテストできるのが好きです。(私は初心者の学習者です。)

私の質問は、シェルで次のことができるということです。

@a = `df -h | grep /dev/mapper | cut -c 48-`

for $i (@a) { @b=`ls $i` }
print @b;

ただし、これをLinuxのスクリプトに入れると:

#!/bin/perl

スクリプトを実行すると、次のエラーが表示されます。

syntax error at perl_diskstats.perl line 5, near "$i ( "
Execution of perl_diskstats.perl aborted due to compilation errors.

ここで明らかなことをしていますか?私は正確に何を間違っていますか?フォーマットだと思ってた..

foreach $var (@array) { codeblock }

... 右?

4

2 に答える 2

7

最初の行の終わりにセミコロンがありません。

于 2012-06-13T23:06:02.573 に答える
0

use strict、およびmy宣言もありません。

use strict;

my @a = `df -h | grep /dev/mapper | cut -c 48-`;

my @b;
for my $i (@a) { @b=`ls $i` }

print @b;

use strictまだ始めたばかりの頃に、今の習慣から始めましょう。それは長期的にあなたを救うでしょう。

于 2012-06-14T09:30:10.173 に答える