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.02 20020813 <abe@ztreet.demon.nl>
58 de-typo in the SYNOPSIS section (thanks Mike Castle for noticing)
60 1.01 20011229 <abe@ztreet.demon.nl>
61 fixed some bugs that slipped in after 5.6.1
63 finished making it strict safe
66 first numbered version
70 our $VERSION = '1.02';
74 our @ISA = qw(Exporter);
75 our @EXPORT = qw(%Kinds %Type %Flavor %Type_Description @Type_Order);
77 our(%Kinds, %Type, %Flavor);
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',
102 our @Type_Order = qw{
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;
139 my( $typedesc, $list );
141 foreach my $type ( @Type_Order ) {
142 $list = join(", ", sort @{$Kinds{$type}});
143 $typedesc = $Type_Description{$type} . ":";
150 ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
152 ~~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
154 ~~ ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
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/PATTERN/ 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 recv Socket receive a message over a Socket
294 redo Flow start this loop iteration over again
295 ref Objects find out the type of thing being referenced
296 rename File change a filename
297 require Modules load in external functions from a library at runtime
298 reset Misc clear all variables of a given name
299 return Flow get out of a function early
300 reverse String,LIST flip a string or a list
301 rewinddir I/O reset directory handle
302 rindex String right-to-left substring search
303 rmdir File remove a directory
304 s/// Regexp replace a pattern with a string
305 scalar Misc force a scalar context
306 seek I/O reposition file pointer for random-access I/O
307 seekdir I/O reposition directory pointer
308 select I/O reset default output or do I/O multiplexing
309 semctl SysV SysV semaphore control operations
310 semget SysV get set of SysV semaphores
311 semop SysV SysV semaphore operations
312 send Socket send a message over a socket
313 setgrent User prepare group file for use
314 sethostent Network prepare hosts file for use
315 setnetent Network prepare networks file for use
316 setpgrp Process set the process group of a process
317 setpriority Process set a process's nice value
318 setprotoent Network prepare protocols file for use
319 setpwent User prepare passwd file for use
320 setservent Network prepare services file for use
321 setsockopt Socket set some socket options
322 shift ARRAY remove the first element of an array, and return it
323 shmctl SysV SysV shared memory operations
324 shmget SysV get SysV shared memory segment identifier
325 shmread SysV read SysV shared memory
326 shmwrite SysV write SysV shared memory
327 shutdown Socket close down just half of a socket connection
328 sin Math return the sine of a number
329 sleep Process block for some number of seconds
330 socket Socket create a socket
331 socketpair Socket create a pair of sockets
332 sort LIST sort a list of values
333 splice ARRAY add or remove elements anywhere in an array
334 split Regexp split up a string using a regexp delimiter
335 sprintf String formatted print into a string
336 sqrt Math square root function
337 srand Math seed the random number generator
338 stat File get a file's status information
339 study Regexp optimize input data for repeated searches
340 sub Flow declare a subroutine, possibly anonymously
341 substr String get or alter a portion of a stirng
342 symlink File create a symbolic link to a file
343 syscall I/O,Binary execute an arbitrary system call
344 sysread I/O,Binary fixed-length unbuffered input from a filehandle
345 sysseek I/O,Binary position I/O pointer on handle used with sysread and syswrite
346 system Process run a separate program
347 syswrite I/O,Binary fixed-length unbuffered output to a filehandle
348 tell I/O get current seekpointer on a filehandle
349 telldir I/O get current seekpointer on a directory handle
350 tie Objects bind a variable to an object class
351 time Time return number of seconds since 1970
352 times Process,Time return elapsed time for self and child processes
353 tr/// String transliterate a string
354 truncate I/O shorten a file
355 uc String return upper-case version of a string
356 ucfirst String return a string with just the next letter in upper case
357 umask File set file creation mode mask
358 undef Misc remove a variable or function definition
359 unlink File remove one link to a file
360 unpack Binary,LIST convert binary structure into normal perl variables
361 unshift ARRAY prepend more elements to the beginning of a list
362 untie Objects break a tie binding to a variable
363 use Modules,Namespace load a module and import its namespace
364 use Objects load in a module at compile time
365 utime File set a file's last access and modify times
366 values HASH return a list of the values in a hash
367 vec Binary test or set particular bits in a string
368 wait Process wait for any child process to die
369 waitpid Process wait for a particular child process to die
370 wantarray Misc,Flow get void vs scalar vs list context of current subroutine call
371 warn I/O print debugging info
372 write I/O print a picture record
373 y/// String transliterate a string