Data-Table-Text
view release on metacpan or search on metacpan
lib/Data/Table/Text.pm view on Meta::CPAN
if ($s =~ m($comment-begin\s*\n(.*?)$comment-end)is)
{my $c = $1;
$c =~ s(\s+\Z) ()s;
return qq($c\n);
}
confess "Unable to locate code delimited by $comment in $0\n"; #CODEBLOCK-begin
my $a = 1;
my $b = 2; #CODEBLOCK-end
}
sub updateDocumentation(;$) # Update the documentation for a Perl module from the comments in its source code. Comments between the lines marked with:\m #Dn title # description\mand:\m #D\mwhere n...
{my ($perlModule) = @_; # Optional file name with caller's file being the default
$perlModule //= $0; # Extract documentation from the caller if no perl module is supplied
my $package = perlPackage($perlModule); # Package name
my $maxLinesInExample = 900; # Maximum number of lines in an example
my %attributes; # Attributes defined in this package, the values of this hash are the flags for the attribute
my %attributeDescription; # Description of each attribute
my %collaborators; # Collaborators #C pause-id comment
my %comment; # The line comment associated with a method
my %examples; # Examples for each method
my %exported; # Exported methods
lib/Data/Table/Text.pm view on Meta::CPAN
my $s = <<END;
${package}::extractDocumentationFlags("$flags", "$name");
END
# use Data::Dump qw(dump);
# my $r = eval $s;
# confess "$s\n". dump($@, $!) if $@;
# $r
}
sub updatePerlModuleDocumentation($) #P Update the documentation in a B<$perlModule> and display said documentation in a web browser.
{my ($perlModule) = @_; # File containing the code of the perl module
-e $perlModule or confess "No such file:\n$perlModule\n";
updateDocumentation($perlModule); # Update documentation
zzz("pod2html --infile=$perlModule --outfile=zzz.html && ". # View documentation
" firefox zzz.html && ".
" (sleep 3 && rm zzz.html pod2htmd.tmp) &");
}
sub extractPodDocumentation($) # Extract pod from a file.
( run in 0.305 second using v1.01-cache-2.11-cpan-4d4bc49f3ae )