#!/usr/bin/perl use strict; use warnings; use Test::More; my @testcase = ( 1 => [ '_8__3__19', '48____7__', ], 1 => [ '_8__3__19', '48__3_7__', ], !1 => [ '_8__3__19', '4_8___7__', ], !1 => [ '____3__19', '3________', ], !1 => [ '____3__19', '________8', ], !1 => [ '_8__3__19', '48_____7_', ], !1 => [ '__8_3__19', '84____7__', ], ); plan tests => @testcase / 2; while( my( $result, $strings ) = splice @testcase, 0, 2 ) { my $testname = join "\n" . ( " " x 18 ), ( ( $result ? 'compatible' : 'conflicting' ) . ':', @$strings ); is( compatible( @$strings ), $result, $testname ); }