1*762b34a9SAndrew Jeffery#!/usr/bin/perl
2*762b34a9SAndrew Jeffery# SPDX-License-Identifier: LGPL-2.1-or-later
3*762b34a9SAndrew Jeffery#
4*762b34a9SAndrew Jeffery# Copyright (C) 2013-2020 Andrey Ponomarenko's ABI Laboratory
5*762b34a9SAndrew Jeffery# Copyright (C) 2024 Code Construct
6*762b34a9SAndrew Jeffery
7*762b34a9SAndrew Jeffery# Copied from abi-dumper
8*762b34a9SAndrew Jeffery# Written by Andrey Ponomarenko
9*762b34a9SAndrew Jefferysub dumpSorting($)
10*762b34a9SAndrew Jeffery{
11*762b34a9SAndrew Jeffery    my $Hash = $_[0];
12*762b34a9SAndrew Jeffery    return [] if(not $Hash);
13*762b34a9SAndrew Jeffery    my @Keys = keys(%{$Hash});
14*762b34a9SAndrew Jeffery    return [] if($#Keys<0);
15*762b34a9SAndrew Jeffery    if($Keys[0]=~/\A\d+\Z/)
16*762b34a9SAndrew Jeffery    { # numbers
17*762b34a9SAndrew Jeffery        return [sort {$a<=>$b} @Keys];
18*762b34a9SAndrew Jeffery    }
19*762b34a9SAndrew Jeffery    else
20*762b34a9SAndrew Jeffery    { # strings
21*762b34a9SAndrew Jeffery        return [sort {$a cmp $b} @Keys];
22*762b34a9SAndrew Jeffery    }
23*762b34a9SAndrew Jeffery}
24*762b34a9SAndrew Jeffery
25*762b34a9SAndrew Jefferyuse Data::Dumper;
26*762b34a9SAndrew Jeffery
27*762b34a9SAndrew Jeffery# Prevent key lengths from changing the indentation
28*762b34a9SAndrew Jeffery$Data::Dumper::Indent = 1;
29*762b34a9SAndrew Jeffery$Data::Dumper::Sortkeys = \&dumpSorting;
30*762b34a9SAndrew Jeffery$/ = undef;
31*762b34a9SAndrew Jefferyprint Dumper(eval(<>));
32