#
#	Eclipse(Bugzilla)の不具合情報抽出プログラム
#
#		author	kashiwa
#
#		◇入力
#			バグ情報のHTML(https://bugs.eclipse.org/bugs/show_bug.cgi?id=xxxxx)
#	
#
#		◇出力
#			アカウント名とアドレス
#
#		◇使用法
#			コマンドラインで、以下のコマンドをたたく(要 Perl 5 以上)
#			> perl [プログラム名].pl [バグ情報のHTML] [活動履歴のHTML
#

use strict;
use warnings;
use Date::Simple;

##############
#  変数宣言  #
##############
###表示させる変数#################
my $Name= '';
###########
# File
my $InputFile = '';
###########
my @tmp;
my $trash; 
my $_='';
	
#########################################
&main();
exit;
##########################################

############################################
sub main {

	$InputFile = $ARGV[0];  # バグ情報のHTML
	my $Line = '';
	open(INFILE,"<$InputFile") or die "cannot open readfile1.\n";
	open(OUTFILE, ">>Commiter.txt") or die "cannot open savefile.\n";

	while(<INFILE>) {
	if($_ =~/author/){	
	@tmp= split(/author:/, $_);
	@tmp= split(/;/,$tmp[1]);
	$Name=trim($tmp[0]);
	print OUTFILE join ('',"$Name	\n");
	}	
		}
	

	close(INFILE);
	close(OUTFILE);
}

#復帰(\r)，改行(\n)，空白(半角，全角，タブ)を削除する関数
sub trim {
	my $result = $_[0];
	
	if(defined $result) {
		$result =~ s/\r//;    # 復帰
		$result =~ s/\n//;    # 改行
		$result =~ s/^\s*//;  # 先頭の空白
		$result =~ s/\s*$//;  # 末尾の空白
	} else {
		$result = '';
	}
	
	if($result eq '') {
		$result = 'null';
	}
	return $result;
}
		