use strict;
use 5.005;

package Pod::Tree::PerlUtil;


sub mkdir
{
    my($translator, $dir) = @_;

    -d $dir or CORE::mkdir $dir, 0755 or 
	die "Pod::Tree::PerlUtil::mkdir: Can't mkdir $dir: $!\n";
}


sub report1
{
    my($translator, $routine) = @_;

    $translator->{options}{v} < 1 and return;

    my $package = ref $translator;
    my $name = "${package}::$routine";
    my $pad = 60 - length $name;
    print STDERR $name, ' ' x $pad, "\n";
}


sub report2
{
    my($translator, $page) = @_;

    my $verbosity = $translator->{options}{v};

    $verbosity==2 and do
    {
	my $pad = 60 - length $page;
	print STDERR $page, ' ' x $pad, "\r";
    };

    $verbosity==3 and print STDERR "$page\n";
}


sub get_name
{
    my($node, $source) = @_;

    my $tree     = new Pod::Tree;
       $tree->load_file($source);
    my $children = $tree->get_root->get_children;
    my @pod      = grep { is_pod $_ } @$children;
    my $node1    = $pod[1];
       $node1 or return ();

    my $text     = $node1->get_deep_text;
       $text     =~ s(\s+)( )g;
       $text     =~ s(^ )();
       $text     =~ s( $)();

    my($name, $description) = split m(\s+-+\s+), $text, 2;
       $name or return ();  # empty!!!

    if ($name =~ /\s/ and not $description)
    {
	$description = $name;
	my @description = split ' ', $description;
	if (@description > 1 and $description[0] =~ /::/)
	{
	    $name        = shift     @description; # guess
	    $description = join ' ', @description;
	}
	else # desperation
	{
	    my @source = split m(/), $source;
	    $name      = pop @source;
	}
    }

      ($name, $description)
}

sub get_description
{
    my($node, $source) = @_;

    my($name, $description) = $node->get_name($source);
    $description
}


1

__END__

Copyright (c) 2000 by Steven McDougall.  This module is free software;
you can redistribute it and/or modify it under the same terms as Perl itself.
