Index
Symbols
 
#! 128
#define 21
#endif 210
#ifdef 210
#ifndef 270
#include 20, 31, 44, 210
#line 227
$! 41, 81, 111
$# 86
$#array 142
$@ 111, 258
$_ 265
$0 4
$DEBUG 25
$PERL5LIB 26
$VERSION 25, 28
%ENV 151
%INC 147
%SIG 81, 145
%VAL 216
... (elipsis) 174
... (ellipsis) 185, 243, 344
<> 102
@_ 86, 169
@ARGV 4
@EXPORT 26
@EXPORT_OK 26
@INC 24
__DIE__ handler 145
 
A
 
ActiveState 306
Albanowski, Kenneth 225
Apache 257, 265
API
     perl 100
apidoc 320
Apocalypse 321
argument stack 169, 261, 289, 291, 308
arrays 132?144
     implementation 85
     packed 189
     reference 187
autoconf 269
autoflush 63
autoloader 40
 
B
 
Backhaus-Naur Form 279
backtrace 312
BASEOP 285
Beattie, Malcolm 296
BEGIN block 141, 300
benchmarks 198
bitmask 72
bleadperl 305?306, 319?320
blib directory 34?35
bookmark 260
bootstrap 31
breakpoints 312?313
byacc 319
 
C
 
C
     comments 5
     function parameters 6
     typedef 237
C arrays 51
     as pointers 55
     multidimensional 53, 192, 216
     over running 52
     strings 199
C library
     asctime 236
     assert 152
     bsearch 202
     calloc 64, 67
     close 63
     exit 5
     fclose 63
     fileno 166
     fopen 63, 346
     fprintf 63, 346
     fread 271
     free 64, 274
     gmtime 170, 236, 244
     gmtime_r 175
     isprint 18
     isspace 22
C library (continued)
     malloc 64?65, 67, 150, 165, 262, 264, 271, 274?276
     memcpy 65, 151
     memmove 65, 152
     memset 67
     mktime 236
     open 63
     printf 2, 32?33, 36, 38, 52, 55, 65
     qsort 202
     read 63
     realloc 64?65, 153
     sinh 233, 252
     sizeof 56, 62, 66?67, 187, 189, 199, 206, 262, 264
     snprintf 271
     sprintf 108, 123, 274
     strcat 164, 226
     strcpy 65, 164, 226
     strftime 170
     strlen 148, 164, 201, 226
     time 174
     timegm 170
     write 63
C preprocessor 20, 219, 233
C structures 60
     vs Perl hashes 61
C variable types 11
C++ 209, 239
     constructor 213
     header files 210
     Makefile.PL 209
     method overloading 214
callbacks 143, 202?208
     deferred 206?207
     embedding 259
     immediate 203?207
     multiple 207?208
CC 209
cdecl 57
ChangeLog 29
CHAR_BIT 13
CHECK block 299
check function 293
check routines 294?295
checksum 239
Christiansen, Tom 2
closure 10
CNF library 221?222
code block
     implementation 96
codepoint 12
Cola 322
collisional hashing 88
compatibility 224
compiler 307, 322
configure 269
constant folding 294?295
constants 12
     in XS 40
context 174, 314
context stack 288
context, void 9
continuation character 22
Conway, Damian 19, 321
CPAN 24, 26?27, 47, 230, 235, 238, 296
CPP macro 269
ctype.h 18
 
D
 
dangling else 18
DBM 150, 278
ddd 315
debugger 307?308, 310?315, 323
decompilation 299
defstash 94
design
     C++ 224
     Fortran 222
     objects 223
     perl interface 47
     return values 166, 223
     status return 224
diff 319
Digital Unix 216
DO_ARRAY_ELEM.
See XS keyword
dualvar 111
 
E
 
Emacs 18, 29, 258, 315
embed.pl 319
embedding 254
     callbacks 259
     catching errors 263
     context 263
     perl methods 264
     when not to 255
END blocks 134
enum 331
execution order 289?290
Exegesis 321
exit handler 260
exit status 5
EXIT_FAILURE 22
EXIT_SUCCESS 22
exponent 14
extern 210
 
F
 
file descriptors 63
FILE* 63, 166
filehandles 63, 166
flag
     ANON 97
     CONST 98
     IOK 78
     IsUV 78
     LOCKED 99
     LVALUE 97
     METHOD 99
     OOK 80
     PADBUSY 74
     PADMY 74, 294
     pIOK 78
     POK 77
     pPOK 77?78
     SHAREKEYS 89
     TEMP 294
formats 108
Fortran 58, 63, 223
     arrays 216
     Makefile.PL 220
     portability 221
Free Software Foundation 2
fundamental operations 285
 
G
 
g++ 209
g77 216, 220
GCC 2
gcc 34
gdb 310?316
get_mortalspace 200, 242, 344
gethostbyname 122
getppid 153
GIMP 254
Glazebrook, Karl 193, 218
globs 91
Gnome 47, 254
gnumeric 254
grammar 282
 
H
 
h2xs 29?31, 40, 42, 45, 170, 232
Harbison, Samuel 69
hashes
     API 144?150
     efficiency 90
     implementation 87
     number 88
     reference 179
     value 147
header files 3
HTTP 254, 265
 
I
 
I/O
     buffered 62
     descriptor 63
include files 3
inet_aton 122
Ingerson, Brian 238
Inline 238
     arrays 243
     CPAN 245
     internals 239
     return arguments 244
     stack manipulation 243
     strings 240
Inline API
     Inline_Stack_Push 244
     Inline_Stack_Reset 244
     Inline_Stack_Vars 244
INT_MAX 12, 17
INT_MIN 12
interpolation 284
 
J
 
jako 322
Java 65, 118, 223, 239
javadoc 320
Jepson, Brian 223
JPL 223
 
K
 
Kernighan, Brian 1, 69
Keywords 284
 
L
 
lexical variables
     implementation 95
limits.h 12
linked list 88
Linux 221
Lukka, Tuomas 193
lvalue 97, 136
 
M
 
macros 21?22
magic 81
make 27, 33, 35, 50, 68
Makefile.PL 27, 44, 47, 234, 246, 249
MakeMaker 28
     CC 209
     DEFINE 45, 47
     INC 45, 47
     LD 209
     LIBS 45, 47
     MODULE 44
     NAME 45, 47, 209, 234
     OBJECT 235
     PACKAGE 44
     PREREQ_PM 28, 45, 47, 245
     TYPEMAPS 197
     VERSION 234
     VERSION_FROM 28, 45, 47, 209
     WriteMakefile 28, 44?45, 47
makepatch 320
MANIFEST 28, 33
mantissa 14
McCamant, Stephen 296
memory
     allocation 64
     leak 64, 105, 175, 180
     management 150, 165, 199
     mortal 203, 242
methods 309
Microsoft Visual C++ 216
Microsoft Visual Studio 2
module
     Apache 113
     Apache::SubRequest 140
     Apache::Table 160
     Apache::Util 122
     Astro::SLA 228, 230
     AutoLoader 40, 232
     B 114, 289
     B::Bytecode 296
     B::Concise 298
     B::Debug 298, 307
     B::Flags 299
     B::Graph 307
     B::Terse 296, 298, 307
     C::DynaLib 251
     C::Scan 232
module (continued)
     Carp 174
     Config 27, 34, 167, 195, 257
     CPAN 28
     Data::Dumper 115?116, 128, 141, 148
     DBI 103, 107, 124, 130
     Devel::DProf 153
     Devel::Leak 307
     Devel::Peek 71, 73, 306
     Devel::PPPort 225
     Devel::Symdump 307
     DynaLoader 133, 213, 266, 278
     Exporter 25
     ExtUtils::Constant 43, 108
     ExtUtils::Embed 257, 266, 269
     ExtUtils::F77 220
     ExtUtils::MakeMaker 28, 197, 234
     Fcntl 42
     File 167
     File::Glob 119
     File::Spec 197
     Imager 131
     Inline 30, 238, 240, 245
     Inline::Java 223
     IO::File 147
     IO::Handle 166
     IO::Poll 120
     IPC 118
     IPC::SysV 118
     JNI 118, 223
     libnet 47
     List::Util 73, 113
     MIME::Base64 110
     mod_perl 101?102, 125?126, 129, 134, 147, 149?150, 254, 257, 265
     O 299
     ODBM_File 150
     Opcode 154
     OS2::Process 153
     Parse::RecDescent 238
     PDL 195, 231, 247
     PDL::CallExt 195, 252
     PDL::Core::Dev 249
     PDL::PP 247
     PerlIO::Scalar 278
     PGPLOT 218, 222, 230
     POSIX 12, 40, 108, 145, 233, 329
     Scalar::Util 111
     SDBM_File 317
     Socket 121
     Storable 104, 136?137
     Switch 19
     Term::ReadLine::Gnu 166
     Test 29
     Test::More 29
     Test::Simple 29
     Text::Autoformat 265
     Threads 138
     Time::HiRes 158
     Tk 110, 135, 145, 195, 202, 208
     Tk::Substitute 143
     Unicode::Normalize 106
     UNIVERSAL 278
     UNIVERSAL::isa 117
     XML::Parser 132
     XS::Typemap 230, 325
modules
     pure perl 24
     XS 30
mortal variable 108, 123, 180, 186, 326
multidimensional arrays. See C arrays, multidimensional
MUTEX 138
mutt 268
 
N
 
namespace 25, 49, 94, 178, 195
neatsvpv 130
newATTRSUB 134
nm 217
NUL 58
null op 288
NULL. See pointer
 
O
 
object destruction 178
object file 3
op dispatch 312?313, 315
opcode 96
opcode.pl 293
ops 285
optimizer 286, 294?295
Oram, Andrew 50
Orwant, Jon 321
OS/2 153
overflow 13
 
P
 
packed arrays. See arrays, packed
padlist 95
Parrot 322
parse tree 281
parser 278
patching 317
PDL. See Perl Data Language
Pearson, Tim 218
peephole optimizer 294
Perl 6 304, 321
perl API. See appendix C
Perl compiler 278, 295?296, 303, 307, 322?323
Perl Data Language 192, 223
     graphics 223
     introduction 193
     Makefile.PL 197
     perldl shell 193, 250
     piddle 193
     sumover 251
     threading 247
     typemap 195
     XS code 195
     See also modules, PDL
Perl function
     bless 132
     close 63
Perl function (continued)
     croak 41, 174
     delete 141
     eval 42, 105, 263, 265
     exists 141
     fileno 63, 166
     glob 119
     goto 19
     keys 90
     last 18
     local 102
     open 63, 102, 166
     ord 12
     pack 62, 188, 191
     package 24
     print 6
     printf 63
     redo 19
     ref 117
     require 3
     shift 139
     sysopen 63
     sysread 63
     syswrite 63
     time 170, 237
     undef 102, 224
     unpack 188, 191, 341?342
     wantarray 160
Perl Journal,The 223
perl5-porters 305, 317, 321,
323
perldl shell. See Perl Data Language
PerlIO 167, 278, 347
PGPLOT library 218
piddle. See Perl Data Language, piddle
PL_op 289, 295
PMC 322
pointer 53?56
     function 203
     NULL 59
POSIX 4, 170
     strftime 172
PP code. See push pop code
ppport.h 225
pragma
     base 26, 213
     blib 35
     overload 292
     re 307
     strict 3, 8, 26, 294
     vars 213
printenv 60
pumpkin 305?306
pumpking 306, 318, 320?321, 323
push pop code 290
Python 239
 
Q
 
quad-state options 274
 
R
 
readline library 166
README 27
recursion 95
reduction 280
reentrant 175
reference
     code 259
     symbolic 259
reference counting 71, 180,
326
references 129
Regexp engine 278
return values 6, 36
RFCs 321
Ritchie, Dennis 1, 69
rsync 306, 319
 
S
 
Salzenburg, Chip 306, 321
scheme 322
Schwartz, Randal 2
scratchpads 293
sfio 278
shared library 265
shebang. See #!
SHRT_MAX 13
SHRT_MIN 13
sizeof 56, 66?67
Soeller, Christian 193
Solaris 209, 221
SP 260
stack
     manipulation 291, 293
     pointer 204, 292, 314
Starlink 221
stash 94
statement handle 107
stdio.h 3, 226
stdlib.h 6, 22, 64
Steele, Guy 69
strict. See pragma
string arrays. See C arrays, strings
string.h 164, 226
Sublexing 284
subroutines
     exporting 25, 49
Sugalski, Dan 322
Sun Fortran 216
sv.h 331
SWIG 30, 233
     -shadow 238
     structures 236
symbol table 94
symbol table hash 94
 
T
 
tainting 112, 119
Talbott, Steve 50
targets 292
Tcl 135
terminal symbols 280
testing 28, 35?36, 142, 213, 273, 340
tests 320
thread safety 25, 175
tie 81
time.h 170
tokenizer 278, 282
tracing execution 309
typecast 15?16
typedef 16, 61, 168, 327
typemap 30, 167, 347
     Inline 243
     SWIG 236
     T_ARRAY 184, 191, 203, 244, 344
     T_AVREF 327
     T_BOOL 332
     T_CHAR 167, 334
     T_CVREF 328
     T_DOUBLE 167, 336
     T_ENUM 331
     T_FLOAT 335
     T_HVREF 180, 327
     T_INOUT 347
     T_INT 331
     T_IV 167, 330
     T_LONG 333
     T_NV 336
     T_OPAQUE 342
     T_OPAQUEPTR 175, 191, 340
     T_PACKED 192, 343
     T_PACKEDARRAY 192, 200, 343
     T_PDL 195
     T_PTR 171, 173, 337
     T_PTROBJ 176, 213, 339
     T_PTRREF 173, 338
     T_PV 167, 189, 337
     T_REF_IV_PTR 340
     T_SHORT 332
     T_STDIO 346
     T_SV 325
     T_SVREF 326
     T_SYSRET 329
     T_U_CHAR 167, 335
     T_U_INT 332
     T_U_LONG 334
     T_U_SHORT 333
     T_UV 167, 330
 
U
 
UINT_MAX 12
Unicode 155, 277
UTF8 155
 
V
 
variable aliasing 93
variable types 116
     SvIV 80
     SvNULL 74
     SvNV 80
     SvOOK 80
     SvPV 76
     SvPVGV 91
     SvPVIV 78
     SvPVMG 81
     SvPVNV 79
     SvRV 76
variables
     argc 4
     argv 4, 256
     automatic 7
     char 12
     double 15
     environ 60
     envp 4
     errno 41, 81, 329
     float 14
     glob 42
     global 8, 25
     I16 15
     I32 15
     I8 15
     implementation 70
     int 11
     IV 16
     lexical 7, 25
     long 14
     NV 16
     scope 8
     short 13
     static 9
     STRLEN 164
     UV 16
     void 15
vim 254, 258
VMS 319
Vromans, Johan 320
 
W
 
Wall, Larry 223, 321
WriteMakefile. See MakeMaker
 
X
 
xchat 254
XPM library 44, 49
XS
     file format 31
     internals 230
     introduction 30
XS keyword
     ALIAS 49
     array 191
     BOOT 140, 195
     CLEANUP 165, 185, 190, 226, 241
     CODE 38, 111, 113, 146, 164, 172, 187, 190?191, 226
     DO_ARRAY_ELEM 186, 344?345
     MODULE 32?33, 49, 140, 176, 204, 212, 226, 233
     NO_INIT 40, 164
     OUTLIST 48
     OUTPUT 38?39, 164, 171?172, 185, 187, 190?191, 226
     PACKAGE 32?33, 49, 140, 204, 212, 226, 233
     PPCODE 118, 182, 199
     PREFIX 49
     PREINIT 165, 172, 187, 190?191, 199, 226, 341
     PROTOTYPE 34, 111,
113
XS keyword (continued)
     PROTOTYPES 34
     REQUIRE 48
XS variable
     items 110, 174, 186, 215
     ix 50
     RETVAL 38, 146, 164,
172?173, 185, 187,
191, 227
     THIS 215
xsubpp 30, 34, 38, 48, 164, 167, 191, 212, 226, 231, 250
 
Y
 
Yacc 278