2013-11-01 71 views
2

文本文件perl的 - 在Excel電子表格打印文本

malloc 
calloc 
free 

.C源文件

我的代碼

my $word_search_path = $ENV{'SCRIPT_PATH'}."\\word_search.txt"; 
open(FILE1, "< $word_search_path") or die $!; 
chomp(my @words = <FILE1>); 
close(FILE1); 

my $input = $ARGV[0]; 
open(FILE, $input) or die $!;        #source file 
my @lines = <FILE>; 
close(FILE); 

my $temp_path = $ENV{'TEMPLOG'}."\\dynamic_alloc_log.csv"; 
open(FILE2, "> $temp_path") or die "couldn't open the file!"; 

foreach my $word(@words){ 
    my $count = 0; 
    foreach(@lines){ 
    if($_ =~ $word){ 
      $count++; 
    } 
    } 
    print FILE2 $word. $count."\n"; 
} 
close(FILE2); 

OUTPUT我得到

malloc0  #in 1st field 
calloc1  #in 2nd field 
free2 

輸出I NEED

malloc 0  # malloc in one field , 0 in next field 
calloc 1 
free  2 

這將是偉大的,如果我可以做任何Perl模塊。還有一件事TEXT FILE數據是用戶定義的,所以它不是固定的。

回答

3

試着改變你的print語句

print FILE2 "${word},${count}\n"; 

或者

printf FILE2 "%s,%s\n", $word, $count; 

既然你已經存儲輸出到.csv文件,它應該在MS Excel

+0

工作正常,正常顯示的字段。這很簡單。只是沒有觸動我的腦海中。比特趕時間,因爲我必須今天完成這個 –

+0

@廣告vic不用擔心! – jkshah