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