Many usability enhancements, Simplified grammar, Lexical scoping, Arbitrarily nested data structures, Modularity and reusability, Object-oriented programming, Embeddable and Extensible, POSIX compliant, Package constructors and destructors, Multiple simultaneous DBM implementations, Subroutine definitions may now be autoloaded, Regular expression enhancements
HOME, LOGDIR, PATH, PERL5LIB, PERL5DB, PERLLIB
unary &, unary *, (TYPE)
?PATTERN?, m/PATTERN/gimosx, /PATTERN/gimosx, q/STRING/, 'STRING'
,
qq/STRING/, ``STRING'', qx/STRING/, `STRING`, qw/STRING/,
s/PATTERN/REPLACEMENT/egimosx, tr/SEARCHLIST/REPLACEMENTLIST/cds,
y/SEARCHLIST/REPLACEMENTLIST/cds
(?#text), (?:regexp), (?=regexp), (?!regexp), (?imsx)
-0digits, -a, -c, -d, -d:foo, -Dnumber, -Dlist, -e commandline, -Fregexp, -iextension, -Idirectory, -loctnum, -mmodule, -Mmodule, -n, -p, -P, -s, -S, -T, -u, -U, -v, -V, -V:name, -w, -x directory
Functions for SCALARs or strings, Regular expressions and pattern matching, Numeric functions, Functions for real @ARRAYs, Functions for list data, Functions for real %HASHes, Input and output functions, Functions for fixed length data or records, Functions for filehandles, files, or directories, Keywords related to the control flow of your perl program, Keywords related to scoping, Miscellaneous functions, Functions for processes and process groups, Keywords related to perl modules, Keywords related to classes and object-orientedness, Low-level socket functions, System V interprocess communication functions, Fetching user and group info, Fetching network info, Time-related functions
-X FILEHANDLE, -X EXPR, -X, abs VALUE, accept NEWSOCKET,GENERICSOCKET, alarm SECONDS, atan2 Y,X, bind SOCKET,NAME, binmode FILEHANDLE, bless REF,CLASSNAME, bless REF, caller EXPR, caller, chdir EXPR, chmod LIST, chomp VARIABLE, chomp LIST, chomp, chop VARIABLE, chop LIST, chop, chown LIST, chr NUMBER, chroot FILENAME, close FILEHANDLE, closedir DIRHANDLE, connect SOCKET,NAME, continue BLOCK, cos EXPR, crypt PLAINTEXT,SALT, dbmclose ASSOC_ARRAY, dbmopen ASSOC,DBNAME,MODE, defined EXPR, delete EXPR, die LIST, do BLOCK, do SUBROUTINE(LIST), do EXPR, dump LABEL, each ASSOC_ARRAY, eof FILEHANDLE, eof (), eof, eval EXPR, eval BLOCK, exec LIST, exists EXPR, exit EXPR, exp EXPR, fcntl FILEHANDLE,FUNCTION,SCALAR, fileno FILEHANDLE, flock FILEHANDLE,OPERATION, fork, format, formline PICTURE, LIST, getc FILEHANDLE, getc, getlogin, getpeername SOCKET, getpgrp PID, getppid, getpriority WHICH,WHO, getpwnam NAME, getgrnam NAME, gethostbyname NAME, getnetbyname NAME, getprotobyname NAME, getpwuid UID, getgrgid GID, getservb
$ARG, $_, $<digit>, $MATCH, $&, $PREMATCH, $`, $POSTMATCH, $', $LAST_PAREN_MATCH, $+, $MULTILINE_MATCHING, $*, input_line_number HANDLE EXPR, $INPUT_LINE_NUMBER, $NR, $, input_record_separator HANDLE EXPR, $INPUT_RECORD_SEPARATOR, $RS, $/, autoflush HANDLE EXPR, $OUTPUT_AUTOFLUSH, $|, output_field_separator HANDLE EXPR, $OUTPUT_FIELD_SEPARATOR, $OFS, $,, output_record_separator HANDLE EXPR, $OUTPUT_RECORD_SEPARATOR, $ORS, $\, $LIST_SEPARATOR, $", $SUBSCRIPT_SEPARATOR, $SUBSEP, $;, $OFMT, $#, format_page_number HANDLE EXPR, $FORMAT_PAGE_NUMBER, $%, format_lines_per_page HANDLE EXPR, $FORMAT_LINES_PER_PAGE, $=, format_lines_left HANDLE EXPR, $FORMAT_LINES_LEFT, $-, format_name HANDLE EXPR, $FORMAT_NAME, $~, format_top_name HANDLE EXPR, $FORMAT_TOP_NAME, $^, format_line_break_characters HANDLE EXPR, $FORMAT_LINE_BREAK_CHARACTERS, $:, format_formfeed HANDLE EXPR, $FORMAT_FORMFEED, $^L, $ACCUMULATOR, $^A, $CHILD_ERROR, $?, $OS_ERROR, $ERRNO, $!, $EVAL_ERROR, $@, $PROCESS_ID, $PID, $$, $REAL_USER_ID, $UID, $<,
diagnostics, integer, less, overload, sigtrap, strict, subs
AnyDBM_File, AutoLoader, AutoSplit, Benchmark, Carp, Config, Cwd, DB_File, Devel::SelfStubber, DynaLoader, English, Env, Exporter, ExtUtils::Liblist, ExtUtils::MakeMaker, ExtUtils::Manifest, ExtUtils::Mkbootstrap, ExtUtils::Miniperl, Fcntl, File::Basename, File::CheckTree, File::Find, FileHandle, File::Path, Getopt::Long, Getopt::Std, I18N::Collate, IPC::Open2, IPC::Open3, Net::Ping, POSIX, SelfLoader, Safe, Socket, Test::Harness, Text::Abbrev
Language Extensions and Documentation Tools, Development Support, Operating System Interfaces, Networking, Device Control (modems) and InterProcess Communication, Data Types and Data Type Utilities, Database Interfaces, User Interfaces, Interfaces to / Emulations of Other Programming Languages, File Names, File Systems and File Locking (see also File Handles), String Processing, Language Text Processing, Parsing and Searching, Option, Argument, Parameter and Configuration File Processing, Internationalization and Locale, Authentication, Security and Encryption, World Wide Web, HTML, HTTP, CGI, MIME, Server and Daemon Utilities, Archiving and Compression, Images, Pixmap and Bitmap Manipulation, Drawing and Graphing, Mail and Usenet News, Control Flow Utilities (callbacks and exceptions etc), File Handle and Input/Output Stream Utilities, Miscellaneous Modules
Do similar modules already exist in some form?, Try to design the new module to be easy to extend and reuse, Some simple style guidelines, Select what to export, Select a name for the module, Have you got it right?, README and other Additional Files, A description of the module/package/extension etc, A copyright notice - see below, Prerequisites - what else you may need to have, How to build it - possible changes to Makefile.PL etc, How to install it, Recent changes in this release, especially incompatibilities, Changes / enhancements you plan to make in the future, Adding a Copyright Notice, Give the module a version/issue/release number, How to release and distribute a module, Take care when changing a released module
There is no requirement to convert anything, Consider the implications, Make the most of the opportunity, The pl2pm utility will get you started, Adds the standard Module prologue lines, Converts package specifiers from ' to ::, Converts die(...) to croak(...), Several other minor changes
Complete applications rarely belong in the Perl Module Library, Many applications contain some perl code which could be reused, Break-out the reusable code into one or more separate module files, Take the opportunity to reconsider and redesign the interfaces, In some cases the 'application' can then be reduced to a small
arrays of arrays, hashes of arrays, arrays of hashes, hashes of hashes, more elaborate constructs, recursive and self-referential data structures, objects
use strict
TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this
TIEARRAY classname, LIST, FETCH this, index, STORE this, index, value, DESTROY this
USER, HOME, CLOBBER, LIST, TIEHASH classname, LIST, FETCH this, key, STORE this, key, value, DELETE this, key, CLEAR this, EXISTS this, key, FIRSTKEY this, NEXTKEY this, lastkey, DESTROY this
h, T, s, n, f, c, c line, <CR>, l min+incr, l min-max, l line, l, -, w line, l subname, /pattern/, ?pattern?, L, S, t, b line [ condition ], b subname [ condition ], d line, D, a line command, A, < command, > command, V package [symbols], X [symbols], ! number, ! -number, H -number, q or ^D, command, p expr
AvFILL, av_clear, av_extend, av_fetch, av_len, av_make, av_pop, av_push, av_shift, av_store, av_undef, av_unshift, CLASS, Copy, croak, CvSTASH, DBsingle, DBsub, dMARK, dORIGMARK, dSP, dXSARGS, ENTER, EXTEND, FREETMPS, G_ARRAY, G_DISCARD, G_EVAL, GIMME, G_NOARGS, G_SCALAR, gv_stashpv, gv_stashsv, GvSV, he_free, hv_clear, hv_delete, hv_exists, hv_fetch, hv_iterinit, hv_iterkey, hv_iternext, hv_iternextsv, hv_iterval, hv_magic, HvNAME, hv_store, hv_undef, isALNUM, isALPHA, isDIGIT, isLOWER, isSPACE, isUPPER, items, LEAVE, MARK, mg_clear, mg_copy, mg_find, mg_free, mg_get, mg_len, mg_magical, mg_set, Move, na, New, Newc, Newz, newAV, newHV, newRV, newSV, newSViv, newSVnv, newSVpv, newSVrv, newSVsv, newXS, newXSproto, Nullav, Nullch, Nullcv, Nullhv, Nullsv, ORIGMARK, perl_alloc, perl_call_argv, perl_call_method, perl_call_pv, perl_call_sv, perl_construct, perl_destruct, perl_eval_sv, perl_free, perl_get_av, perl_get_cv, perl_get_hv, perl_get_sv, perl_parse, perl_require_pv, perl_run, POPi, POPl, POPp, POPn, POPs,
An Error Handler, An Event Driven Program
perl_call_sv, perl_call_pv, perl_call_method, perl_call_argv
1. Ignore the problem - Allow only 1 callback, 2. Create a sequence of callbacks - hard wired limit, 3. Use a parameter to map to the Perl callback
Use C from Perl?, Use a UNIX program from Perl?, B
diagnostics
Pragma
FALSE, TRUE, undef
Arithmetic operations, Comparison operations, Bit operations,
Increment and decrement, Transcendental functions, I
use overload
undef
, TRUE, defined, but FALSE
Example
Assignment forms of arithmetic operations
, Conversion operations,
Increment and decrement, abs($a)
, Unary minus,
Concatenation, Comparison operations,
Copy operator
overload::StrVal(arg), overload::Overloaded(arg),
overload::Method(obj,op)
strict refs
, strict vars
, strict subs
[0], [1], [2], [3]
new, debug
timeit(COUNT, CODE)
, timethis, timethese, timediff, timestr
DB_HASH, DB_BTREE, DB_RECNO
get, put, del, fd, seq, sync
@dl_library_path, @dl_resolve_using, @dl_require_symbols, dl_error(), $dl_debug, dl_findfile(), dl_expandspec(), dl_load_file(), dl_find_symbol(), dl_undef_symbols(), dl_install_xsub(), bootstrap()
For static extensions, For dynamic extensions, For dynamic extensions
catdir, catfile, nicetext, libscan, exescan, lsdir, path, replace_manpage_separator, file_name_is_absolute, prefixify, maybe_command_in_dirs, maybe_command, perl_script
guess_name, init_main, init_dirscan, init_others, find_perl
post_initialize, const_config, constants, const_loadlibs, const_cccmd, tool_autosplit, tool_xsubpp, tools_other, dist, macro, depend, post_constants, pasthru, c_o, xs_c, xs_o, top_targets, linkext, dlsyms, dynamic, dynamic_bs, dynamic_lib, static, static_lib, installpm, installpm_x, manifypods, processPL, installbin, subdirs, subdir_x, clean, realclean, dist_basics, dist_core, dist_dir, dist_test, dist_ci, install, force, perldepend, makefile, staticmake, test, test_via_harness, test_via_script, postamble, makeaperl, extliblist, dir_target, needs_linking, has_link_code, writedoc
C, CONFIG, CONFIGURE, DEFINE, DIR, DISTNAME, DL_FUNCS, DL_VARS, EXE_FILES, FIRST_MAKEFILE, FULLPERL, H, INC, INSTALLARCHLIB, INSTALLBIN, INSTALLDIRS, INSTALLMAN1DIR, INSTALLMAN3DIR, INSTALLPRIVLIB, INSTALLSITELIB, INSTALLSITEARCH, INST_ARCHLIB, INST_EXE, INST_LIB, INST_MAN1DIR, INST_MAN3DIR, LDFROM, LIBPERL_A, LIBS, LINKTYPE, MAKEAPERL, MAKEFILE, MAN1PODS, MAN3PODS, MAP_TARGET, MYEXTLIB, NAME, NEEDS_LINKING, NOECHO, NORECURS, OBJECT, PERL, PERLMAINCC, PERL_ARCHLIB, PERL_LIB, PERL_SRC, PL_FILES, PM, PMLIBDIRS, PREFIX, PREREQ, SKIP, TYPEMAPS, VERSION, VERSION_FROM, XS, XSOPT, XSPROTOARG, XS_VERSION
clean, depend, dist, dynamic_lib, installpm, linkext, macro, realclean, tool_autosplit
Not in MANIFEST:
file,
No such file:
file, MANIFEST:
$!, Added to MANIFEST:
file
NAME, DL_FUNCS, DL_VARS, FILE, FUNCLIST, DLBASE
fileparse_set_fstype, fileparse
basename
, dirname
$Getopt::Long::autoabbrev, $Getopt::Long::getopt_compat, $Getopt::Long::order, $Getopt::Long::ignorecase, $Getopt::Long::VERSION, $Getopt::Long::error, $Getopt::Long::debug
hostname, timeout
_exit, abort, abs, access, acos, alarm, asctime, asin, assert, atan, atan2, atexit, atof, atoi, atol, bsearch, calloc, ceil, chdir, chmod, chown, clearerr, clock, close, closedir, cos, cosh, creat, ctermid, ctime, cuserid, difftime, div, dup, dup2, errno, execl, execle, execlp, execv, execve, execvp, exit, exp, fabs, fclose, fcntl, fdopen, feof, ferror, fflush, fgetc, fgetpos, fgets, fileno, floor, fmod, fopen, fork, fpathconf, fprintf, fputc, fputs, fread, free, freopen, frexp, fscanf, fseek, fsetpos, fstat, ftell, fwrite, getc, getchar, getcwd, getegid, getenv, geteuid, getgid, getgrgid, getgrnam, getgroups, getlogin, getpgrp, getpid, getppid, getpwnam, getpwuid, gets, getuid, gmtime, isalnum, isalpha, isatty, iscntrl, isdigit, isgraph, islower, isprint, ispunct, isspace, isupper, isxdigit, kill, labs, ldexp, ldiv, link, localeconv, localtime, log, log10, longjmp, lseek, malloc, mblen, mbstowcs, mbtowc, memchr, memcmp, memcpy, memmove, memset, mkdir, mkfifo, mktime, modf, nice, offsetof, open, opendir, pat
new
new, addset, delset, emptyset, fillset, ismember
new, getattr, getcc, getcflag, getiflag, getispeed, getlflag, getoflag, getospeed, setattr, setcc, setcflag, setiflag, setispeed, setlflag, setoflag, setospeed, Baud rate values, Terminal interface values, c_cc field values, c_cflag field values, c_iflag field values, c_lflag field values, c_oflag field values
Constants
Constants
Constants
Constants
Constants
Constants
Constants
Constants
Constants
Constants
Constants, Macros
Constants
Constants
Constants
Constants
Constants, Macros
a new namespace, an operator mask
NAMESPACE, MASK, root (NAMESPACE), mask (MASK), trap (OP, ...), untrap (OP, ...), share (VARNAME, ...), varglob (VARNAME), reval (STRING), rdo (FILENAME)
ops_to_mask (OP, ...), mask_to_ops (MASK), opcode (OP, ...), opname (OP, ...), fullmask, emptymask, MAXO, op_mask
inet_aton HOSTNAME, inet_ntoa IP_ADDRESS, INADDR_ANY, INADDR_LOOPBACK, INADDR_NONE, sockaddr_in PORT, ADDRESS, sockaddr_in SOCKADDR_IN, pack_sockaddr_in PORT, IP_ADDRESS, unpack_sockaddr_in SOCKADDR_IN, sockaddr_un PATHNAME, sockaddr_un SOCKADDR_UN, pack_sockaddr_un PATH, unpack_sockaddr_un SOCKADDR_UN
openlog $ident, $logopt, $facility, syslog $priority, $mask, $format, @args, setlogmask $mask_priority, closelog
readline
packages.
ReadLine
, new
, readline
, addhistory
, IN
, $<CODE>OUT,
MinLine
, findConsole
, Features
All tests successful.\nFiles=%d, Tests=%d, %s
, CFailed 1 test, %.2f%% okay. %s
, C
TIEHASH classname, LIST, STORE this, key, value, FETCH this, key, FIRSTKEY this, NEXTKEY this, lastkey, EXISTS this, key, DELETE this, key, CLEAR this
TIESCALAR classname, LIST, FETCH this, STORE this, value, DESTROY this