Excelに出力する

金曜に書いた結合するスクリプトの応用で、Excelの仕様書の形式に変換できたらいいなということでLet'sTry!
Excelへの出力にはWin32::OLEを使う

(エントリにソースを乗っけようとしたけど、流石に多くなりすぎたので諦める。)
金曜に書いたParserで抜き出したコマンドデータに対しコンバータを書いた。

sub convert{
	my $base = shift;
	my $dictionary = shift;
	my @result;
	my $no = 1;
	foreach(@$base){
		next unless $dictionary->{$_->{'cmd'}}->{'operation'};
		my $tmp = [
			$no,
			$dictionary->{$_->{'cmd'}}->{'operation'},
			$dictionary->{$_->{'cmd'}}->{'expected'},
			$_->{'target'},
			$_->{'value'},
			'','','','',
			$_->{'cmd'},
			$_->{'target'},
			$_->{'value'},
		];
		push(@result,$tmp);
		$no++;
	};
	return \@result;
}

定義ファイルから生成した$dictionaryから、コマンドに対する操作と期待される動作を補完をしている。
これでopenというコマンドに対し“指定したURLを開く”みたいな感じでテスト項目表を埋めてくって寸法。

定義ファイルのメンテが面倒くさいという問題点があるが、出来上がったものはテスト仕様書の雛型にはなるかと。