Algorithm::Diff
Algorithm::Diff - Compute `intelligent' differences between two files / lists
'インテリジェント'に2つのファイル/リストの違いを算出する
試してみる。
use Algorithm::Diff qw(sdiff); use Data::Dumper; my @diffs = sdiff( [qw( <html> <body>test</body> </html> )], [qw( <html> <body>Test..</body> </html> )]); print Dumper(@diffs);
$VAR1 = [ 'u', '<html>', '<html>' ]; $VAR2 = [ 'c', '<body>test</body>', '<body>Test..</body>' ]; $VAR3 = [ 'u', '</html>', '</html>' ];
- 第一引数と第二引数のリストの各要素を比較していく
- 1つしか要素のないリストだと丸っと全体での判定しかしない
- 適切な粒度で要素に区切ることが重要(通常は改行コードでよさげ)