i'm taking my plunge into XS [1]. the Carbon API provides PropertyList services, and those can be of various data types (CFData, CFString, CFDict, and so on). Some of those types can contain other types nested to arbitrary depths.
i can play with them fine in C, and i can make simple XS functions to return a simple perl variable (scalar, array of strings, and so on), although i'm a bit sketchy on what i'm actually doing. where do i read about turning ugly structs into Perl data structures? someone please tell me Dan has some magic that does this automagically :) [1] Mac::PropertyList can only handle two levels of nesting and still be useably fast. The Carbon API can do it much faster, although i have to give up on non-Mac support which i'd really don't like, but that's life. :(
