で、このより良い書き込む方法:私は時間あたりのエラーの数を見つけるためにしようとしています次のようになり、大きな入力ファイルを考えるとperlの
02/26/2012 08:54:38 Error:java.sql.Exception
02/26/2012 08:54:48 Error:java.sql.Exception
02/26/2012 08:56:05 Error:java.sql.Exception
02/26/2012 08:57:21 Error:java.sql.Exception
02/26/2012 08:59:29 Error:java.sql.Exception
02/26/2012 09:01:14 Error:java.sql.Exception
02/26/2012 09:08:48 Error:java.sql.Exception
02/26/2012 09:10:41 Error:java.sql.Exception
。つまり、私はこのようになり、出力ファイルを探しています:私はこれができるかなり確信している、
#!/bin/perl
open(MYFILE, 'tata2');
my %table;
while (<MYFILE>) {
chomp;
$dtkey = substr $_, 0, 13;
$table{$dtkey}++;
}
close(MYFILE);
for my $key (keys %table) {
print "$key -> $table{$key}\n";
}
しかし、与えられたPerlの機能:ここで
02/26/2012 08 -> 5
02/26/2012 09 -> 3
することは私のために働いているスクリプトです。より少ない行で行うことができます。 いくつか例を挙げていただければ幸いです。私は、何かを達成するために書かれたコードの行を減らしたい人にとっては、役に立つと思います。
'use strict; ' – Ether
Perlではなく、' sed 's/:.*//' |警告を使用します。ユニーク-c' –