The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
use strict;
use vars qw($i $loaded $num);
BEGIN {
  use ShiftJIS::Collate;
  $| = 1;
  $num = 10 + 1;
  print "1..$num\n";
}
END {print "not ok 1\n" unless $loaded;}

$loaded = 1;
print "ok 1\n";

my $Collator = new ShiftJIS::Collate;

chomp(my @data = <DATA>);
unshift @data, "";
my $data = join ":",@data;

for $i (2..$num){
  my @arr  = shuffle(@data);
  my $arr  = join ":",@arr;
  my @sort = $Collator->sort(@arr);
  my $sort = join ":",@sort;
  print $sort eq $data ? "ok" : "not ok", " $i\n";
}

sub shuffle {
  my @array = @_;
  my $i;
  for ($i = @array; --$i; ) {
     my $j = int rand ($i+1);
     next if $i == $j;
     @array[$i,$j] = @array[$j,$i];
  }
  return @array;
}

1;
__DATA__
‡‚’‡
‡‚q”
‡‚”‡
”‚’‡
”‚q”
”‚”“
”‚s“
‚W‚”‡
‚W‚s‡
‚W‚””
‚W‚s”
‚W‚”“
‚W‚s“
‚W‚”‚W
‚W‚s‚W
ƒÖ‚’‡
ƒ¶‚q“
‚’‚’‡
‚’‚q‡
‚q‚’‡
‚q‚q‡
‚q‚s“
‚’‚”‚W
‚”‚’‡
‚”‚’‚W
‚s‚q‚W
‚”‚”‚W
ƒVƒƒ[ƒŒ
ƒVƒƒƒC
ƒVƒ„ƒB
ƒVƒƒƒŒ
‚¿‚傱
‚¿‚悱
ƒ`ƒ‡ƒRƒŒ[ƒg
‚ā[‚½
ƒe[ƒ^
ƒeƒFƒ^
‚Ä‚¦‚½
‚Ł[‚½
ƒf[ƒ^
ƒfƒFƒ^
‚Å‚¦‚½
ƒe[ƒ^‚‡
‚Ä‚¥‚½‚‡
‚Ä‚¥‚½‚f
ƒeƒFƒ^‚f
‚ā[‚½[
ƒe[ƒ^ƒ@
‚ā[‚½‚ 
ƒeƒFƒ^[
‚Ä‚¥‚½‚Ÿ
‚Ä‚¦‚½[
‚Ł[‚½[
ƒf[ƒ^ƒ@
‚ŃF‚½ƒ@
ƒf‚¥ƒ^‚Ÿ
ƒfƒGƒ^ƒA
‚Ђä
‚Ñ‚ã‚ 
‚Ò‚ã‚ 
‚Ñ‚ã‚ [
ƒrƒ…ƒA[
‚Ò‚ã‚ [
ƒsƒ…ƒA[
ƒqƒ…ƒE
ƒqƒ†ƒE
ƒrƒ…ƒEƒA
‚Ñ‚ã[‚ [
ƒrƒ…[ƒA[
ƒrƒ…ƒEƒA[
‚Ђã‚ñ
‚Ò‚ã‚ñ
‚Ӂ[‚è
ƒt[ƒŠ
‚Ó‚£‚è
‚ÓƒD‚è
‚ÓƒDƒŠ
ƒtƒEƒŠ
‚ԁ[‚è
ƒu[ƒŠ
‚Ô‚£‚è
ƒuƒD‚è
‚Õ‚¤‚è
ƒvƒEƒŠ
‚Ӂ[‚è[
ƒtƒDƒŠ[
‚ÓƒD‚èƒB
ƒt‚£ƒŠ‚¡
ƒtƒEƒŠ[
‚Ó‚¤‚è‚¡
ƒuƒEƒŠƒC
‚Ձ[‚è[
‚ÕƒD‚èƒC
‚Õ‚¤‚è[
ƒvƒEƒŠƒC
ƒtR
‚ӁU
‚ԁT
‚Ô‚Ó
‚Ôƒt
ƒu‚Ó
ƒuƒt
‚ԁU
‚Ô‚Õ
ƒu‚Õ
‚ՁT
ƒvR
‚Õ‚Ó