Array Problem

This is the output that I would like to see:

pear=Mikrotik
peach=Abe
apple=12345

However, the script below is giving me this output:

0=pear;0=Mikrotik
1=peach;1=Abe
apple=12345

Any ideas why?

{ :local arr {""}; \
:set arr {\
"apple"=12345 ;\
"pear"=[/system identity get name;] ;\
"peach"="Abe" }; \

:put $arr; \
:put [:typeof $arr]; \
:put [:len $arr]; \

:foreach k,v in=$arr do={ \
  :put ("$k=$v") ; \
}; \

:put ($arr->"apple"); \
};

Anyone? What am I doing wrong here?

It’s a RouteOS bug… see this post. Apparently, it’s still not fixed… assuming you have 6.9.

Thank you :slight_smile:

I am running version 6.7

Works fine in v6.9
[admin@MikroTik] > :global rr { “apple”=12345; “pear”=[/system identity get name]; “peach”=“abe” }
[admin@MikroTik] > :put $rr
apple=12345;peach=abe;pear=MikroTik
[admin@MikroTik] > :put ($rr->“apple”)
12345
[admin@MikroTik] > :foreach k,v in=$rr do={ :put (“$k=$v”) }
apple=12345
peach=abe
pear=MikroTik
[admin@MikroTik] >

Thanks for verifying this :slight_smile:
I am going to update!

I just updated and it works great!!!