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