| 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 |