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