Perl で質問です。
$ref = {data => [ {id => 1, sortnum => 2 },
{id => 4, sortnum => 3 },
{id => 5, sortnum => 7 },
]};

のような hash ref があり、id, sortnum は一意のものとします。
sortnum の欠番をなくしたいのですが、どのようにすればよいのでしょう。
上記の例で得たい結果はこのようなものです。
$ref = {data => [ {id => 1, sortnum => 1 },
{id => 4, sortnum => 2 },
{id => 5, sortnum => 3 },
]};