use strict;
=head1 NAME
Pod::Functions - Group Perl's functions a la perlfunc.pod
=head1 SYNOPSIS
use Pod::Functions;
my @misc_ops = @{ $Kinds{ 'Misc' } };
my $misc_dsc = $Type_Description{ 'Misc' };
or
perl /path/to/lib/Pod/Functions.pm
This will print a grouped list of Perl's functions, like the
L<perlfunc/"Perl Functions by Category"> section.
=head1 DESCRIPTION
It exports the following variables:
=over 4
=item %Kinds
This holds a hash-of-lists. Each list contains the functions in the catagory
the key denotes.
=item %Type
In this hash each key represents a function and the value is the catagory.
The catagory can be a comma separated list.
=item %Flavor
In this hash each key represents a function and the value is a short
description of that function.
=item %Type_Description
In this hash each key represents a catagory of functions and the value is
a short description of that catagory.
=item @Type_Order
This list of catagories is used to produce the same order as the
L<perlfunc/"Perl Functions by Category"> section.
=back
=head1 CHANGES
1.02 20020813 <abe@ztreet.demon.nl>
de-typo in the SYNOPSIS section (thanks Mike Castle for noticing)
1.01 20011229 <abe@ztreet.demon.nl>
fixed some bugs that slipped in after 5.6.1
added the pod
finished making it strict safe
1.00 ??
first numbered version
=cut
our $VERSION = '1.02';
require Exporter;
our %Type_Description = (
'ARRAY' => 'Functions for real @ARRAYs',
'Binary' => 'Functions for fixed length data or records',
'File' => 'Functions for filehandles, files, or directories',
'Flow' => 'Keywords related to control flow of your perl program',
'HASH' => 'Functions for real %HASHes',
'I/O' => 'Input and output functions',
'LIST' => 'Functions for list data',
'Math' => 'Numeric functions',
'Misc' => 'Miscellaneous functions',
'Modules' => 'Keywords related to perl modules',
'Network' => 'Fetching network info',
'Objects' => 'Keywords related to classes and object-orientedness',
'Process' => 'Functions for processes and process groups',
'Regexp' => 'Regular expressions and pattern matching',
'Socket' => 'Low-level socket functions',
'String' => 'Functions for SCALARs or strings',
'SysV' => 'System V interprocess communication functions',
'Time' => 'Time-related functions',
'User' => 'Fetching user and group info',
'Namespace' => 'Keywords altering or affecting scoping of identifiers',
);
our @Type_Order = qw{
I/O
};
while (<DATA>) {
chomp;
s/#.*//;
next unless $_;
for my $t ( split /[,\s]+/, $type ) {
}
}
close DATA;
unless (caller) {
foreach my $type ( @Type_Order ) {
write;
}
}
format =
^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
~~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
~~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
$list
.
1;