In case someone wants to automatically update the monasteries look up table, please see
(
"\\%Flavor: ",
{
"-X" => "a file test (-r, -x, etc)",
"__FILE__" => "the name of the current source file",
"__LINE__" => "the current source line number",
"__PACKAGE__" => "the current package",
"__SUB__" => "the current subroutine, or C<undef> if not
+in a subroutine",
"abs" => "absolute value function",
"accept" => "accept an incoming socket connect",
"alarm" => "schedule a SIGALRM",
"atan2" => "arctangent of Y/X in the range -PI to PI",
"bind" => "binds an address to a socket",
"binmode" => "prepare binary files for I/O",
"bless" => "create an object",
"break" => "break out of a C<given> block",
"caller" => "get context of the current subroutine call"
+,
"chdir" => "change your current working directory",
"chmod" => "changes the permissions on a list of files"
+,
"chomp" => "remove a trailing record separator from a s
+tring",
"chop" => "remove the last character from a string",
"chown" => "change the ownership on a list of files",
"chr" => "get character this number represents",
"chroot" => "make directory new root for path lookups",
"close" => "close file (or pipe or socket) handle",
"closedir" => "close directory handle",
"connect" => "connect to a remote socket",
"continue" => "optional trailing block in a while or forea
+ch",
"cos" => "cosine function",
"crypt" => "one-way passwd-style encryption",
"dbmclose" => "breaks binding on a tied dbm file",
"dbmopen" => "create binding on a tied dbm file",
"defined" => "test whether a value, variable, or function
+ is defined",
"delete" => "deletes a value from a hash",
"die" => "raise an exception or bail out",
"do" => "turn a BLOCK into a TERM",
"dump" => "create an immediate core dump",
"each" => "retrieve the next key/value pair from a has
+h",
"endgrent" => "be done using group file",
"endhostent" => "be done using hosts file",
"endnetent" => "be done using networks file",
"endprotoent" => "be done using protocols file",
"endpwent" => "be done using passwd file",
"endservent" => "be done using services file",
"eof" => "test a filehandle for its end",
"eval" => "catch exceptions or compile and run code",
"evalbytes" => "similar to string eval, but intend to parse
+ a bytestream",
"exec" => "abandon this program to run another",
"exists" => "test whether a hash key is present",
"exit" => "terminate this program",
"exp" => "raise I<e> to a power",
"fc" => "return casefolded version of a string",
"fcntl" => "file control system call",
"fileno" => "return file descriptor from filehandle",
"flock" => "lock an entire file with an advisory lock",
"fork" => "create a new process just like this one",
"format" => "declare a picture format with use by the wr
+ite() function",
"formline" => "internal function used for formats",
"getc" => "get the next character from the filehandle"
+,
"getgrent" => "get next group record",
"getgrgid" => "get group record given group user ID",
"getgrnam" => "get group record given group name",
"gethostbyaddr" => "get host record given its address",
"gethostbyname" => "get host record given name",
"gethostent" => "get next hosts record",
"getlogin" => "return who logged in at this tty",
"getnetbyaddr" => "get network record given its address",
"getnetbyname" => "get networks record given name",
"getnetent" => "get next networks record",
"getpeername" => "find the other end of a socket connection",
"getpgrp" => "get process group",
"getppid" => "get parent process ID",
"getpriority" => "get current nice value",
"getprotobyname" => "get protocol record given name",
"getprotobynumber" => "get protocol record numeric protocol",
"getprotoent" => "get next protocols record",
"getpwent" => "get next passwd record",
"getpwnam" => "get passwd record given user login name",
"getpwuid" => "get passwd record given user ID",
"getservbyname" => "get services record given its name",
"getservbyport" => "get services record given numeric port",
"getservent" => "get next services record",
"getsockname" => "retrieve the sockaddr for a given socket",
"getsockopt" => "get socket options on a given socket",
"glob" => "expand filenames using wildcards",
"gmtime" => "convert UNIX time into record or string usi
+ng Greenwich time",
"goto" => "create spaghetti code",
"grep" => "locate elements in a list test true against
+ a given criterion",
"hex" => "convert a hexadecimal string to a number",
"import" => "patch a module's namespace into your own",
"index" => "find a substring within a string",
"int" => "get the integer portion of a number",
"ioctl" => "system-dependent device control system call
+",
"join" => "join a list into a string using a separator
+",
"keys" => "retrieve list of indices from a hash",
"kill" => "send a signal to a process or process group
+",
"last" => "exit a block prematurely",
"lc" => "return lower-case version of a string",
"lcfirst" => "return a string with just the next letter i
+n lower case",
"length" => "return the number of characters in a string
+",
"link" => "create a hard link in the filesystem",
"listen" => "register your socket as a server",
"local" => "create a temporary value for a global varia
+ble (dynamic scoping)",
"localtime" => "convert UNIX time into record or string usi
+ng local time",
"lock" => "get a thread lock on a variable, subroutine
+, or method",
"log" => "retrieve the natural logarithm for a number
+",
"lstat" => "stat a symbolic link",
"m//" => "match a string with a regular expression pa
+ttern",
"map" => "apply a change to a list to get back a new
+list with the changes",
"mkdir" => "create a directory",
"msgctl" => "SysV IPC message control operations",
"msgget" => "get SysV IPC message queue",
"msgrcv" => "receive a SysV IPC message from a message q
+ueue",
"msgsnd" => "send a SysV IPC message to a message queue"
+,
"my" => "declare and assign a local variable (lexica
+l scoping)",
"next" => "iterate a block prematurely",
"no" => "unimport some module symbols or semantics a
+t compile time",
"oct" => "convert a string to an octal number",
"open" => "open a file, pipe, or descriptor",
"opendir" => "open a directory",
"ord" => "find a character's numeric representation",
"our" => "declare and assign a package variable (lexi
+cal scoping)",
"pack" => "convert a list into a binary representation
+",
"package" => "declare a separate global namespace",
"pipe" => "open a pair of connected filehandles",
"pop" => "remove the last element from an array and r
+eturn it",
"pos" => "find or set the offset for the last/next m/
+/g search",
"print" => "output a list to a filehandle",
"printf" => "output a formatted list to a filehandle",
"prototype" => "get the prototype (if any) of a subroutine"
+,
"push" => "append one or more elements to an array",
"q/STRING/" => "singly quote a string",
"qq/STRING/" => "doubly quote a string",
"qr/STRING/" => "compile pattern",
"quotemeta" => "quote regular expression magic characters",
"qw/STRING/" => "quote a list of words",
"qx/STRING/" => "backquote quote a string",
"rand" => "retrieve the next pseudorandom number",
"read" => "fixed-length buffered input from a filehand
+le",
"readdir" => "get a directory from a directory handle",
"readline" => "fetch a record from a file",
"readlink" => "determine where a symbolic link is pointing
+",
"readpipe" => "execute a system command and collect standa
+rd output",
"recv" => "receive a message over a Socket",
"redo" => "start this loop iteration over again",
"ref" => "find out the type of thing being referenced
+",
"rename" => "change a filename",
"require" => "load in external functions from a library a
+t runtime",
"reset" => "clear all variables of a given name",
"return" => "get out of a function early",
"reverse" => "flip a string or a list",
"rewinddir" => "reset directory handle",
"rindex" => "right-to-left substring search",
"rmdir" => "remove a directory",
"s///" => "replace a pattern with a string",
"say" => "output a list to a filehandle, appending a
+newline",
"scalar" => "force a scalar context",
"seek" => "reposition file pointer for random-access I
+/O",
"seekdir" => "reposition directory pointer",
"select" => "reset default output or do I/O multiplexing
+",
"semctl" => "SysV semaphore control operations",
"semget" => "get set of SysV semaphores",
"semop" => "SysV semaphore operations",
"send" => "send a message over a socket",
"setgrent" => "prepare group file for use",
"sethostent" => "prepare hosts file for use",
"setnetent" => "prepare networks file for use",
"setpgrp" => "set the process group of a process",
"setpriority" => "set a process's nice value",
"setprotoent" => "prepare protocols file for use",
"setpwent" => "prepare passwd file for use",
"setservent" => "prepare services file for use",
"setsockopt" => "set some socket options",
"shift" => "remove the first element of an array, and r
+eturn it",
"shmctl" => "SysV shared memory operations",
"shmget" => "get SysV shared memory segment identifier",
"shmread" => "read SysV shared memory",
"shmwrite" => "write SysV shared memory",
"shutdown" => "close down just half of a socket connection
+",
"sin" => "return the sine of a number",
"sleep" => "block for some number of seconds",
"socket" => "create a socket",
"socketpair" => "create a pair of sockets",
"sort" => "sort a list of values",
"splice" => "add or remove elements anywhere in an array
+",
"split" => "split up a string using a regexp delimiter"
+,
"sprintf" => "formatted print into a string",
"sqrt" => "square root function",
"srand" => "seed the random number generator",
"stat" => "get a file's status information",
"state" => "declare and assign a persistent lexical var
+iable",
"study" => "optimize input data for repeated searches",
"sub" => "declare a subroutine, possibly anonymously"
+,
"substr" => "get or alter a portion of a string",
"symlink" => "create a symbolic link to a file",
"syscall" => "execute an arbitrary system call",
"sysopen" => "open a file, pipe, or descriptor",
"sysread" => "fixed-length unbuffered input from a fileha
+ndle",
"sysseek" => "position I/O pointer on handle used with sy
+sread and syswrite",
"system" => "run a separate program",
"syswrite" => "fixed-length unbuffered output to a filehan
+dle",
"tell" => "get current seekpointer on a filehandle",
"telldir" => "get current seekpointer on a directory hand
+le",
"tie" => "bind a variable to an object class",
"tied" => "get a reference to the object underlying a
+tied variable",
"time" => "return number of seconds since 1970",
"times" => "return elapsed time for self and child proc
+esses",
"tr///" => "transliterate a string",
"truncate" => "shorten a file",
"uc" => "return upper-case version of a string",
"ucfirst" => "return a string with just the next letter i
+n upper case",
"umask" => "set file creation mode mask",
"undef" => "remove a variable or function definition",
"unlink" => "remove one link to a file",
"unpack" => "convert binary structure into normal perl v
+ariables",
"unshift" => "prepend more elements to the beginning of a
+ list",
"untie" => "break a tie binding to a variable",
"use" => "load in a module at compile time and import
+ its namespace",
"utime" => "set a file's last access and modify times",
"values" => "return a list of the values in a hash",
"vec" => "test or set particular bits in a string",
"wait" => "wait for any child process to die",
"waitpid" => "wait for a particular child process to die"
+,
"wantarray" => "get void vs scalar vs list context of curre
+nt subroutine call",
"warn" => "print debugging info",
"write" => "print a picture record",
"y///" => "transliterate a string",
},
)
(
"\\%Type_Description: ",
{
"ARRAY" => "Functions for real \@ARRAYs",
"Binary" => "Functions for fixed-length data or records",
"File" => "Functions for filehandles, files, or directories",
"Flow" => "Keywords related to the control flow of your Perl
+program",
"HASH" => "Functions for real %HASHes",
"I/O" => "Input and output functions",
"LIST" => "Functions for list data",
"Math" => "Numeric functions",
"Misc" => "Miscellaneous functions",
"Modules" => "Keywords related to Perl modules",
"Namespace" => "Keywords related to scoping",
"Network" => "Fetching network info",
"Objects" => "Keywords related to classes and object-orientation
+",
"Process" => "Functions for processes and process groups",
"Regexp" => "Regular expressions and pattern matching",
"Socket" => "Low-level socket functions",
"String" => "Functions for SCALARs or strings",
"SysV" => "System V interprocess communication functions",
"Time" => "Time-related functions",
"User" => "Fetching user and group info",
},
)
(
"\\\@Type_Order: ",
[
"String",
"Regexp",
"Math",
"ARRAY",
"LIST",
"HASH",
"I/O",
"Binary",
"File",
"Flow",
"Namespace",
"Misc",
"Process",
"Modules",
"Objects",
"Socket",
"SysV",
"User",
"Network",
"Time",
],
)
(
"\\%Kinds: ",
{
"ARRAY" => [
"each",
"keys",
"pop",
"push",
"shift",
"splice",
"unshift",
"values",
],
"Binary" => [
"pack",
"read",
"syscall",
"sysread",
"sysseek",
"syswrite",
"unpack",
"vec",
],
"File" => [
"-X",
"chdir",
"chmod",
"chown",
"chroot",
"fcntl",
"glob",
"ioctl",
"link",
"lstat",
"mkdir",
"open",
"opendir",
"readlink",
"rename",
"rmdir",
"select",
"stat",
"symlink",
"sysopen",
"umask",
"unlink",
"utime",
],
"Flow" => [
"break",
"caller",
"continue",
"die",
"do",
"dump",
"eval",
"evalbytes",
"exit",
"__FILE__",
"goto",
"last",
"__LINE__",
"next",
"__PACKAGE__",
"redo",
"return",
"sub",
"__SUB__",
"wantarray",
],
"HASH" => ["delete", "each", "exists", "keys", "values"],
"I/O" => [
"binmode",
"close",
"closedir",
"dbmclose",
"dbmopen",
"die",
"eof",
"fileno",
"flock",
"format",
"getc",
"print",
"printf",
"read",
"readdir",
"readline",
"rewinddir",
"say",
"seek",
"seekdir",
"select",
"syscall",
"sysread",
"sysseek",
"syswrite",
"tell",
"telldir",
"truncate",
"warn",
"write",
],
"LIST" => ["grep", "join", "map", "qw/STRING/", "reverse", "s
+ort", "unpack"],
"Math" => [
"abs",
"atan2",
"cos",
"exp",
"hex",
"int",
"log",
"oct",
"rand",
"sin",
"sqrt",
"srand",
],
"Misc" => [
"defined",
"formline",
"lock",
"prototype",
"reset",
"scalar",
"undef",
],
"Modules" => ["do", "import", "no", "package", "require", "use"]
+,
"Namespace" => ["caller", "import", "local", "my", "our", "package
+", "state", "use"],
"Network" => [
"endprotoent",
"endservent",
"gethostbyaddr",
"gethostbyname",
"gethostent",
"getnetbyaddr",
"getnetbyname",
"getnetent",
"getprotobyname",
"getprotobynumber",
"getprotoent",
"getservbyname",
"getservbyport",
"getservent",
"sethostent",
"setnetent",
"setprotoent",
"setservent",
],
"Objects" => [
"bless",
"dbmclose",
"dbmopen",
"package",
"ref",
"tie",
"tied",
"untie",
"use",
],
"Process" => [
"alarm",
"exec",
"fork",
"getpgrp",
"getppid",
"getpriority",
"kill",
"pipe",
"qx/STRING/",
"readpipe",
"setpgrp",
"setpriority",
"sleep",
"system",
"times",
"wait",
"waitpid",
],
"Regexp" => ["m//", "pos", "qr/STRING/", "quotemeta", "s///", "
+split", "study"],
"Socket" => [
"accept",
"bind",
"connect",
"getpeername",
"getsockname",
"getsockopt",
"listen",
"recv",
"send",
"setsockopt",
"shutdown",
"socket",
"socketpair",
],
"String" => [
"chomp",
"chop",
"chr",
"crypt",
"fc",
"hex",
"index",
"lc",
"lcfirst",
"length",
"oct",
"ord",
"pack",
"q/STRING/",
"qq/STRING/",
"reverse",
"rindex",
"sprintf",
"substr",
"tr///",
"uc",
"ucfirst",
"y///",
],
"SysV" => [
"msgctl",
"msgget",
"msgrcv",
"msgsnd",
"semctl",
"semget",
"semop",
"shmctl",
"shmget",
"shmread",
"shmwrite",
],
"Time" => ["gmtime", "localtime", "time", "times"],
"User" => [
"endgrent",
"endhostent",
"endnetent",
"endpwent",
"getgrent",
"getgrgid",
"getgrnam",
"getlogin",
"getpwent",
"getpwnam",
"getpwuid",
"setgrent",
"setpwent",
],
},
)
(
"\\%Type: ",
{
"-X" => "File",
"__FILE__" => "Flow",
"__LINE__" => "Flow",
"__PACKAGE__" => "Flow",
"__SUB__" => "Flow",
"abs" => "Math",
"accept" => "Socket",
"alarm" => "Process",
"atan2" => "Math",
"bind" => "Socket",
"binmode" => "I/O",
"bless" => "Objects",
"break" => "Flow",
"caller" => "Flow,Namespace",
"chdir" => "File",
"chmod" => "File",
"chomp" => "String",
"chop" => "String",
"chown" => "File",
"chr" => "String",
"chroot" => "File",
"close" => "I/O",
"closedir" => "I/O",
"connect" => "Socket",
"continue" => "Flow",
"cos" => "Math",
"crypt" => "String",
"dbmclose" => "I/O,Objects",
"dbmopen" => "I/O,Objects",
"defined" => "Misc",
"delete" => "HASH",
"die" => "Flow,I/O",
"do" => "Flow,Modules",
"dump" => "Flow",
"each" => "ARRAY,HASH",
"endgrent" => "User",
"endhostent" => "User",
"endnetent" => "User",
"endprotoent" => "Network",
"endpwent" => "User",
"endservent" => "Network",
"eof" => "I/O",
"eval" => "Flow",
"evalbytes" => "Flow",
"exec" => "Process",
"exists" => "HASH",
"exit" => "Flow",
"exp" => "Math",
"fc" => "String",
"fcntl" => "File",
"fileno" => "I/O",
"flock" => "I/O",
"fork" => "Process",
"format" => "I/O",
"formline" => "Misc",
"getc" => "I/O",
"getgrent" => "User",
"getgrgid" => "User",
"getgrnam" => "User",
"gethostbyaddr" => "Network",
"gethostbyname" => "Network",
"gethostent" => "Network",
"getlogin" => "User",
"getnetbyaddr" => "Network",
"getnetbyname" => "Network",
"getnetent" => "Network",
"getpeername" => "Socket",
"getpgrp" => "Process",
"getppid" => "Process",
"getpriority" => "Process",
"getprotobyname" => "Network",
"getprotobynumber" => "Network",
"getprotoent" => "Network",
"getpwent" => "User",
"getpwnam" => "User",
"getpwuid" => "User",
"getservbyname" => "Network",
"getservbyport" => "Network",
"getservent" => "Network",
"getsockname" => "Socket",
"getsockopt" => "Socket",
"glob" => "File",
"gmtime" => "Time",
"goto" => "Flow",
"grep" => "LIST",
"hex" => "Math,String",
"import" => "Modules,Namespace",
"index" => "String",
"int" => "Math",
"ioctl" => "File",
"join" => "LIST",
"keys" => "ARRAY,HASH",
"kill" => "Process",
"last" => "Flow",
"lc" => "String",
"lcfirst" => "String",
"length" => "String",
"link" => "File",
"listen" => "Socket",
"local" => "Namespace",
"localtime" => "Time",
"lock" => "Misc",
"log" => "Math",
"lstat" => "File",
"m//" => "Regexp",
"map" => "LIST",
"mkdir" => "File",
"msgctl" => "SysV",
"msgget" => "SysV",
"msgrcv" => "SysV",
"msgsnd" => "SysV",
"my" => "Namespace",
"next" => "Flow",
"no" => "Modules",
"oct" => "Math,String",
"open" => "File",
"opendir" => "File",
"ord" => "String",
"our" => "Namespace",
"pack" => "Binary,String",
"package" => "Modules,Namespace,Objects",
"pipe" => "Process",
"pop" => "ARRAY",
"pos" => "Regexp",
"print" => "I/O",
"printf" => "I/O",
"prototype" => "Misc",
"push" => "ARRAY",
"q/STRING/" => "String",
"qq/STRING/" => "String",
"qr/STRING/" => "Regexp",
"quotemeta" => "Regexp",
"qw/STRING/" => "LIST",
"qx/STRING/" => "Process",
"rand" => "Math",
"read" => "Binary,I/O",
"readdir" => "I/O",
"readline" => "I/O",
"readlink" => "File",
"readpipe" => "Process",
"recv" => "Socket",
"redo" => "Flow",
"ref" => "Objects",
"rename" => "File",
"require" => "Modules",
"reset" => "Misc",
"return" => "Flow",
"reverse" => "LIST,String",
"rewinddir" => "I/O",
"rindex" => "String",
"rmdir" => "File",
"s///" => "Regexp",
"say" => "I/O",
"scalar" => "Misc",
"seek" => "I/O",
"seekdir" => "I/O",
"select" => "File,I/O",
"semctl" => "SysV",
"semget" => "SysV",
"semop" => "SysV",
"send" => "Socket",
"setgrent" => "User",
"sethostent" => "Network",
"setnetent" => "Network",
"setpgrp" => "Process",
"setpriority" => "Process",
"setprotoent" => "Network",
"setpwent" => "User",
"setservent" => "Network",
"setsockopt" => "Socket",
"shift" => "ARRAY",
"shmctl" => "SysV",
"shmget" => "SysV",
"shmread" => "SysV",
"shmwrite" => "SysV",
"shutdown" => "Socket",
"sin" => "Math",
"sleep" => "Process",
"socket" => "Socket",
"socketpair" => "Socket",
"sort" => "LIST",
"splice" => "ARRAY",
"split" => "Regexp",
"sprintf" => "String",
"sqrt" => "Math",
"srand" => "Math",
"stat" => "File",
"state" => "Namespace",
"study" => "Regexp",
"sub" => "Flow",
"substr" => "String",
"symlink" => "File",
"syscall" => "Binary,I/O",
"sysopen" => "File",
"sysread" => "Binary,I/O",
"sysseek" => "Binary,I/O",
"system" => "Process",
"syswrite" => "Binary,I/O",
"tell" => "I/O",
"telldir" => "I/O",
"tie" => "Objects",
"tied" => "Objects",
"time" => "Time",
"times" => "Process,Time",
"tr///" => "String",
"truncate" => "I/O",
"uc" => "String",
"ucfirst" => "String",
"umask" => "File",
"undef" => "Misc",
"unlink" => "File",
"unpack" => "Binary,LIST",
"unshift" => "ARRAY",
"untie" => "Objects",
"use" => "Modules,Namespace,Objects",
"utime" => "File",
"values" => "ARRAY,HASH",
"vec" => "Binary",
"wait" => "Process",
"waitpid" => "Process",
"wantarray" => "Flow",
"warn" => "I/O",
"write" => "I/O",
"y///" => "String",
},
)