我有一个简单的问题。我一直在使用zoidberg perl shell以交互方式熟悉perl。我喜欢在充实脚本之前能够快速测试我的东西。(我是一个新手。)
我的问题是,在shell中,我可以执行以下操作:
@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 }..。对吗?
发布于 2012-06-14 07:06:03
您的第一行末尾缺少一个分号。
发布于 2012-06-14 17:30:10
此外,您还缺少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的习惯。从长远来看,它会拯救你。
https://stackoverflow.com/questions/11024219
复制相似问题