【发布时间】:2013-01-16 18:39:26
【问题描述】:
我正在尝试编写一个脚本来计算和删除文件中的空行并将更改保存在新文件中:
if (@ARGV != 2) {
print "Usage: $0 infile outfile\n";
exit;
}
$infile = @ARGV[0];
$outfile = @ARGV[1];
open($old, "<$infile");
open($new, ">$outfile");
@mass = <$old>;
foreach $newc(@mass) {
$counter++;
if ($_ =~ /^$/) {
print "blank line found in $old at line number $counter\n";
print $new;
}
}
close($new);
close($old);
但它不起作用。我哪里错了?
【问题讨论】:
-
问题是什么?出了什么问题?
-
@ARGV[0] 效果很好,我之前在其他脚本中测试过。我的问题是我无法删除输入文件的这些空行和空格
-
@array[$index]有效,但风格不正确。@array[...]旨在返回多个索引,例如my @slice = @array[1,2,3,4,5]。请注意符号匹配,@slice和@array以相同的字符开头。这就是为什么最好写my $item = $array[0]而不是my $item = @array[0];