ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/cvsroot/staticperl/perl/lib/Pod/Functions.pm
Revision: 1.1
Committed: Thu Jun 30 14:27:14 2005 UTC (21 years, 3 months ago) by root
Branch: MAIN
CVS Tags: PERL-5-8-7, HEAD
Branch point for: PERL
Log Message:
*** empty log message ***

File Contents

# User Rev Content
1 root 1.1 package Pod::Functions;
2     use strict;
3    
4     =head1 NAME
5    
6     Pod::Functions - Group Perl's functions a la perlfunc.pod
7    
8     =head1 SYNOPSIS
9    
10     use Pod::Functions;
11    
12     my @misc_ops = @{ $Kinds{ 'Misc' } };
13     my $misc_dsc = $Type_Description{ 'Misc' };
14    
15     or
16    
17     perl /path/to/lib/Pod/Functions.pm
18    
19     This will print a grouped list of Perl's functions, like the
20     L<perlfunc/"Perl Functions by Category"> section.
21    
22     =head1 DESCRIPTION
23    
24     It exports the following variables:
25    
26     =over 4
27    
28     =item %Kinds
29    
30     This holds a hash-of-lists. Each list contains the functions in the catagory
31     the key denotes.
32    
33     =item %Type
34    
35     In this hash each key represents a function and the value is the catagory.
36     The catagory can be a comma separated list.
37    
38     =item %Flavor
39    
40     In this hash each key represents a function and the value is a short
41     description of that function.
42    
43     =item %Type_Description
44    
45     In this hash each key represents a catagory of functions and the value is
46     a short description of that catagory.
47    
48     =item @Type_Order
49    
50     This list of catagories is used to produce the same order as the
51     L<perlfunc/"Perl Functions by Category"> section.
52    
53     =back
54    
55     =head1 CHANGES
56    
57     1.02 20020813 <abe@ztreet.demon.nl>
58     de-typo in the SYNOPSIS section (thanks Mike Castle for noticing)
59    
60     1.01 20011229 <abe@ztreet.demon.nl>
61     fixed some bugs that slipped in after 5.6.1
62     added the pod
63     finished making it strict safe
64    
65     1.00 ??
66     first numbered version
67    
68     =cut
69    
70     our $VERSION = '1.02';
71    
72     require Exporter;
73    
74     our @ISA = qw(Exporter);
75     our @EXPORT = qw(%Kinds %Type %Flavor %Type_Description @Type_Order);
76    
77     our(%Kinds, %Type, %Flavor);
78    
79     our %Type_Description = (
80     'ARRAY' => 'Functions for real @ARRAYs',
81     'Binary' => 'Functions for fixed length data or records',
82     'File' => 'Functions for filehandles, files, or directories',
83     'Flow' => 'Keywords related to control flow of your perl program',
84     'HASH' => 'Functions for real %HASHes',
85     'I/O' => 'Input and output functions',
86     'LIST' => 'Functions for list data',
87     'Math' => 'Numeric functions',
88     'Misc' => 'Miscellaneous functions',
89     'Modules' => 'Keywords related to perl modules',
90     'Network' => 'Fetching network info',
91     'Objects' => 'Keywords related to classes and object-orientedness',
92     'Process' => 'Functions for processes and process groups',
93     'Regexp' => 'Regular expressions and pattern matching',
94     'Socket' => 'Low-level socket functions',
95     'String' => 'Functions for SCALARs or strings',
96     'SysV' => 'System V interprocess communication functions',
97     'Time' => 'Time-related functions',
98     'User' => 'Fetching user and group info',
99     'Namespace' => 'Keywords altering or affecting scoping of identifiers',
100     );
101    
102     our @Type_Order = qw{
103     String
104     Regexp
105     Math
106     ARRAY
107     LIST
108     HASH
109     I/O
110     Binary
111     File
112     Flow
113     Namespace
114     Misc
115     Process
116     Modules
117     Objects
118     Socket
119     SysV
120     User
121     Network
122     Time
123     };
124    
125     while (<DATA>) {
126     chomp;
127     s/#.*//;
128     next unless $_;
129     my($name, $type, $text) = split " ", $_, 3;
130     $Type{$name} = $type;
131     $Flavor{$name} = $text;
132     for my $t ( split /[,\s]+/, $type ) {
133     push @{$Kinds{$t}}, $name;
134     }
135     }
136    
137     close DATA;
138    
139     my( $typedesc, $list );
140     unless (caller) {
141     foreach my $type ( @Type_Order ) {
142     $list = join(", ", sort @{$Kinds{$type}});
143     $typedesc = $Type_Description{$type} . ":";
144     write;
145     }
146     }
147    
148     format =
149    
150     ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
151     $typedesc
152     ~~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
153     $typedesc
154     ~~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
155     $list
156     .
157    
158     1;
159    
160     __DATA__
161     -X File a file test (-r, -x, etc)
162     abs Math absolute value function
163     accept Socket accept an incoming socket connect
164     alarm Process schedule a SIGALRM
165     atan2 Math arctangent of Y/X in the range -PI to PI
166     bind Socket binds an address to a socket
167     binmode I/O prepare binary files for I/O
168     bless Objects create an object
169     caller Flow,Namespace get context of the current subroutine call
170     chdir File change your current working directory
171     chmod File changes the permissions on a list of files
172     chomp String remove a trailing record separator from a string
173     chop String remove the last character from a string
174     chown File change the owership on a list of files
175     chr String get character this number represents
176     chroot File make directory new root for path lookups
177     close I/O close file (or pipe or socket) handle
178     closedir I/O close directory handle
179     connect Socket connect to a remote socket
180     continue Flow optional trailing block in a while or foreach
181     cos Math cosine function
182     crypt String one-way passwd-style encryption
183     dbmclose Objects,I/O breaks binding on a tied dbm file
184     dbmopen Objects,I/O create binding on a tied dbm file
185     defined Misc test whether a value, variable, or function is defined
186     delete HASH deletes a value from a hash
187     die I/O,Flow raise an exception or bail out
188     do Flow,Modules turn a BLOCK into a TERM
189     dump Misc,Flow create an immediate core dump
190     each HASH retrieve the next key/value pair from a hash
191     endgrent User be done using group file
192     endhostent User be done using hosts file
193     endnetent User be done using networks file
194     endprotoent Network be done using protocols file
195     endpwent User be done using passwd file
196     endservent Network be done using services file
197     eof I/O test a filehandle for its end
198     eval Flow,Misc catch exceptions or compile and run code
199     exec Process abandon this program to run another
200     exists HASH test whether a hash key is present
201     exit Flow terminate this program
202     exp Math raise I<e> to a power
203     fcntl File file control system call
204     fileno I/O return file descriptor from filehandle
205     flock I/O lock an entire file with an advisory lock
206     fork Process create a new process just like this one
207     format I/O declare a picture format with use by the write() function
208     formline Misc internal function used for formats
209     getc I/O get the next character from the filehandle
210     getgrent User get next group record
211     getgrgid User get group record given group user ID
212     getgrnam User get group record given group name
213     gethostbyaddr Network get host record given its address
214     gethostbyname Network get host record given name
215     gethostent Network get next hosts record
216     getlogin User return who logged in at this tty
217     getnetbyaddr Network get network record given its address
218     getnetbyname Network get networks record given name
219     getnetent Network get next networks record
220     getpeername Socket find the other end of a socket connection
221     getpgrp Process get process group
222     getppid Process get parent process ID
223     getpriority Process get current nice value
224     getprotobyname Network get protocol record given name
225     getprotobynumber Network get protocol record numeric protocol
226     getprotoent Network get next protocols record
227     getpwent User get next passwd record
228     getpwnam User get passwd record given user login name
229     getpwuid User get passwd record given user ID
230     getservbyname Network get services record given its name
231     getservbyport Network get services record given numeric port
232     getservent Network get next services record
233     getsockname Socket retrieve the sockaddr for a given socket
234     getsockopt Socket get socket options on a given socket
235     glob File expand filenames using wildcards
236     gmtime Time convert UNIX time into record or string using Greenwich time
237     goto Flow create spaghetti code
238     grep LIST locate elements in a list test true against a given criterion
239     hex Math,String convert a string to a hexadecimal number
240     import Modules,Namespace patch a module's namespace into your own
241     index String find a substring within a string
242     int Math get the integer portion of a number
243     ioctl File system-dependent device control system call
244     join LIST join a list into a string using a separator
245     keys HASH retrieve list of indices from a hash
246     kill Process send a signal to a process or process group
247     last Flow exit a block prematurely
248     lc String return lower-case version of a string
249     lcfirst String return a string with just the next letter in lower case
250     length String return the number of bytes in a string
251     link File create a hard link in the filesytem
252     listen Socket register your socket as a server
253     local Misc,Namespace create a temporary value for a global variable (dynamic scoping)
254     localtime Time convert UNIX time into record or string using local time
255     lock Threads get a thread lock on a variable, subroutine, or method
256     log Math retrieve the natural logarithm for a number
257     lstat File stat a symbolic link
258     m// Regexp match a string with a regular expression pattern
259     map LIST apply a change to a list to get back a new list with the changes
260     mkdir File create a directory
261     msgctl SysV SysV IPC message control operations
262     msgget SysV get SysV IPC message queue
263     msgrcv SysV receive a SysV IPC message from a message queue
264     msgsnd SysV send a SysV IPC message to a message queue
265     my Misc,Namespace declare and assign a local variable (lexical scoping)
266     next Flow iterate a block prematurely
267     no Modules unimport some module symbols or semantics at compile time
268     package Modules,Objects,Namespace declare a separate global namespace
269     prototype Flow,Misc get the prototype (if any) of a subroutine
270     oct String,Math convert a string to an octal number
271     open File open a file, pipe, or descriptor
272     opendir File open a directory
273     ord String find a character's numeric representation
274     our Misc,Namespace declare and assign a package variable (lexical scoping)
275     pack Binary,String convert a list into a binary representation
276     pipe Process open a pair of connected filehandles
277     pop ARRAY remove the last element from an array and return it
278     pos Regexp find or set the offset for the last/next m//g search
279     print I/O output a list to a filehandle
280     printf I/O output a formatted list to a filehandle
281     push ARRAY append one or more elements to an array
282     q/STRING/ String singly quote a string
283     qq/STRING/ String doubly quote a string
284     quotemeta Regexp quote regular expression magic characters
285     qw/STRING/ LIST quote a list of words
286     qx/STRING/ Process backquote quote a string
287     qr/STRING/ Regexp Compile pattern
288     rand Math retrieve the next pseudorandom number
289     read I/O,Binary fixed-length buffered input from a filehandle
290     readdir I/O get a directory from a directory handle
291     readline I/O fetch a record from a file
292     readlink File determine where a symbolic link is pointing
293     readpipe Process execute a system command and collect standard output
294     recv Socket receive a message over a Socket
295     redo Flow start this loop iteration over again
296     ref Objects find out the type of thing being referenced
297     rename File change a filename
298     require Modules load in external functions from a library at runtime
299     reset Misc clear all variables of a given name
300     return Flow get out of a function early
301     reverse String,LIST flip a string or a list
302     rewinddir I/O reset directory handle
303     rindex String right-to-left substring search
304     rmdir File remove a directory
305     s/// Regexp replace a pattern with a string
306     scalar Misc force a scalar context
307     seek I/O reposition file pointer for random-access I/O
308     seekdir I/O reposition directory pointer
309     select I/O reset default output or do I/O multiplexing
310     semctl SysV SysV semaphore control operations
311     semget SysV get set of SysV semaphores
312     semop SysV SysV semaphore operations
313     send Socket send a message over a socket
314     setgrent User prepare group file for use
315     sethostent Network prepare hosts file for use
316     setnetent Network prepare networks file for use
317     setpgrp Process set the process group of a process
318     setpriority Process set a process's nice value
319     setprotoent Network prepare protocols file for use
320     setpwent User prepare passwd file for use
321     setservent Network prepare services file for use
322     setsockopt Socket set some socket options
323     shift ARRAY remove the first element of an array, and return it
324     shmctl SysV SysV shared memory operations
325     shmget SysV get SysV shared memory segment identifier
326     shmread SysV read SysV shared memory
327     shmwrite SysV write SysV shared memory
328     shutdown Socket close down just half of a socket connection
329     sin Math return the sine of a number
330     sleep Process block for some number of seconds
331     socket Socket create a socket
332     socketpair Socket create a pair of sockets
333     sort LIST sort a list of values
334     splice ARRAY add or remove elements anywhere in an array
335     split Regexp split up a string using a regexp delimiter
336     sprintf String formatted print into a string
337     sqrt Math square root function
338     srand Math seed the random number generator
339     stat File get a file's status information
340     study Regexp optimize input data for repeated searches
341     sub Flow declare a subroutine, possibly anonymously
342     substr String get or alter a portion of a stirng
343     symlink File create a symbolic link to a file
344     syscall I/O,Binary execute an arbitrary system call
345     sysopen File open a file, pipe, or descriptor
346     sysread I/O,Binary fixed-length unbuffered input from a filehandle
347     sysseek I/O,Binary position I/O pointer on handle used with sysread and syswrite
348     system Process run a separate program
349     syswrite I/O,Binary fixed-length unbuffered output to a filehandle
350     tell I/O get current seekpointer on a filehandle
351     telldir I/O get current seekpointer on a directory handle
352     tie Objects bind a variable to an object class
353     tied Objects get a reference to the object underlying a tied variable
354     time Time return number of seconds since 1970
355     times Process,Time return elapsed time for self and child processes
356     tr/// String transliterate a string
357     truncate I/O shorten a file
358     uc String return upper-case version of a string
359     ucfirst String return a string with just the next letter in upper case
360     umask File set file creation mode mask
361     undef Misc remove a variable or function definition
362     unlink File remove one link to a file
363     unpack Binary,LIST convert binary structure into normal perl variables
364     unshift ARRAY prepend more elements to the beginning of a list
365     untie Objects break a tie binding to a variable
366     use Modules,Namespace load a module and import its namespace
367     use Objects load in a module at compile time
368     utime File set a file's last access and modify times
369     values HASH return a list of the values in a hash
370     vec Binary test or set particular bits in a string
371     wait Process wait for any child process to die
372     waitpid Process wait for a particular child process to die
373     wantarray Misc,Flow get void vs scalar vs list context of current subroutine call
374     warn I/O print debugging info
375     write I/O print a picture record
376     y/// String transliterate a string