#!/usr/bin/perl --
use strict; use warnings; use Data::Dump;
my $blah = (
[
"S",
["SN", "ac2.bd"],
[
"I1",
["IN", "s%1"],
["NM", 1],
[
"HL",
["HLD", "kkk kjkjk"],
["ST", "abdc"],
["HI", "REM SSS"],
["H_M", 9],
["HL", 72],
["EB", 0],
["ER", 0],
["HI", "E043-93A-DF0-0AB63E"],
["PE", "aaa"],
["HN", "DEE"],
["SS", "NS"],
[
"SED",
["APR", ["PAD", "kkk"], ["PN", 9905], ["HH", "llkjk"]],
["DD", ["LLL", "kkk"]],
],
],
["ppp", 1],
["RAW", "kkk"],
["DN", "kkk"],
["RIN", "ppp"],
],
["PPP", 1],
["AA", "LLI"],
],
);
use Data::Rmap qw/ rmap_array /;
rmap_array {
my( $key, $val, @rest ) = @$_;
if( not ref $key ){
if( @rest ){
$_ = { $key, [ $val, @rest ] };
} else {
$_ = { $key, $val };
}
}
return;
} $blah;
dd $blah;
__END__
{
S => [
{ SN => "ac2.bd" },
{
I1 => [
{ IN => "s%1" },
{ NM => 1 },
{
HL => [
{ HLD => "kkk kjkjk" },
{ ST => "abdc" },
{ HI => "REM SSS" },
{ H_M => 9 },
{ HL => 72 },
{ EB => 0 },
{ ER => 0 },
{ HI => "E043-93A-DF0-0AB63E" },
{ PE => "aaa" },
{ HN => "DEE" },
{ SS => "NS" },
{
SED => [
{ APR => [{ PAD => "kkk" }, {
+PN => 9905 }, { HH => "llkjk" }] },
{ DD => { LLL => "kkk" } },
],
},
],
},
{ ppp => 1 },
{ RAW => "kkk" },
{ DN => "kkk" },
{ RIN => "ppp" },
],
},
{ PPP => 1 },
{ AA => "LLI" },
],
}