my $tree = new_tree(); print node_count($tree), "\n"; __END__ __C__ typedef struct { int count; } Tree; SV* new_tree () { Tree* tree; tree.count = 0; /* return tree some how */ } int node_count (SV* tree) { /* get back at tree some how */ return tree.count; }