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