#!/bin/perl use Data::Dumper; use warnings; require "DoxyDocs1.pm"; print "API Content Analyzer\n"; &GenerateClassInfo($doxydocs->{classes}); sub GenerateClassInfo() { my ($classes) = @_; foreach my $class (@$classes) { print "\nClass name is: $class->{name}\n"; foreach my $pubmeth (@{$class->{public_methods}->{members}}) { print "\n" if exists $pubmeth->{name}; print "\tpublic methods include: $pubmeth->{name}\n"; my ($key, $pmcontent) = each (@{$pubmeth->{detailed}->{doc}}); print "\t\tdescription: $pmcontent->{content}\n" if exists $pmcontent->{content}; # foreach my $pmp (@{$pubmeth->{detailed}->{doc}}) { # print "\t\t"; # print Dumper($pmp); # } print "\t\tkind: $pubmeth->{kind}\n"; print "\t\ttype: $pubmeth->{type}\n" if exists $pubmeth->{type}; } foreach my $privmeth (@{$class->{private_methods}->{members}}) { print "\n" if exists $privmeth->{name}; print "\tprivate methods include: $privmeth->{name}\n"; my ($key, $pmcontent) = each (@{$privmeth->{detailed}->{doc}}); print "\t\tdescription: $pmcontent->{content}\n" if exists $pmcontent->{content}; # foreach my $info (@{$privmeth->{detailed}->{doc}}) { # print "\t\t"; # print Dumper($info); # } print "\t\tkind: $privmeth->{kind}\n"; print "\t\ttype: $privmeth->{type}\n" if exists $privmeth->{type}; } } }