OK, so gave up on the Perl approach - successfully got Ruby and the Mtik API interface installed. Successfully connected to a router using the tikcli script...
Feed it the following command:
/ip/arp/print ?mac-address=00:60:E0:45:CE:AA
It spits out the entire 70 item ARP table, not just the one entry which matches the query (and yes, here it is from the list - I obscured the address, but it was the valid one)
Command (/quit to end): /ip/arp/print ?mac-address=00:60:E0:45:CE:AA
=== COMMAND: /ip/arp/print
<<< '/ip/arp/print' (13)
<<< '?mac-address=00:60:E0:45:CE:AA' (30)
<<< '.tag=4' (6)
<<< END-OF-SENTENCE
[lots of other entries snipped]
>>> '.tag=4' (6)
>>> 'address=x.x.x.x' (19)
>>> '.id=*65843E' (11)
>>> '!re' (3)
>>> 'comment=' (8)
>>> 'mac-address=00:60:E0:45:CE:AA' (29)
>>> 'interface=ether1' (16)
>>> END-OF SENTENCE
[lots of other entries snipped]
>>> '.tag=4' (6)
>>> '!done' (5)
>>> END-OF SENTENCE
So, I might be able to feed this result into some sort of array and loop through the entries to find the data I'm looking for, but it certainly isn't working the way the documentation (
http://wiki.mikrotik.com/wiki/API_Ruby_class) indicates it should. Am I missing something here?