Test::Simple を使っているのですが、ハッシュを比較する方法がわかりません。

use strict;
use Test::Simple tests => 1;
my $h1 = {'a'=>1};
my $h2 = {'a'=>2};
ok(%$h1 == %$h2); #=> ok


%$h1 と %$h2 は異なるのに、ok(%$h1== %$h2) が成功してしまいます。
どうしてでしょうか。