No Words Wasted Sale
 
 

Special Offers see all

Enter to WIN a $100 Credit

Subscribe to PowellsBooks.news
for a chance to win.
Privacy Policy

Visit our stores


    Recently Viewed clear list


    Original Essays | January 6, 2015

    Matt Burgess: IMG 35 Seconds



    Late at night on September 22, 2014, at a housing project basketball court in Brooklyn, a white cop pushes a black man against a chain link fence.... Continue »
    1. $18.17 Sale Hardcover add to wish list

      Uncle Janice

      Matt Burgess 9780385536806

    spacer
Qualifying orders ship free.
$9.95
Used Trade Paper
Ships in 1 to 3 days
Add to Wishlist
Qty Store Section
1 Burnside Computer Languages- Perl

Advanced Perl Programming 1ST Edition

by

Advanced Perl Programming 1ST Edition Cover

 

 

Excerpt

Symbols @, for dereferencing arrays, 5 \ (backslash) in static allocation, 3 { } (braces), 12-13 anonymous hashes, 10 [ ] (brackets), for anonymous arrays, 10 :: notation, 93 for instance methods, 106 $ (dollar sign) $@ variable, 69 dereferencing scalars, 5 -> (arrow) notation, 7-8, 14 indirect notation versus, 109 for instance methods, 106 < > (diamond) operator, 42 ( ) for anonymous arrays, 10 %, for dereferencing hashes, 6 " (quotation marks), 72 ' (single quotation mark), 72 A absolute text widget positioning, 233 abstract syntax tree (AST), 274-275 Academy Award data (example), 32-34 accept function, 192 accessing object attributes, 113-114 from other packages, 85 privileges, persistence and, 154 symbol table, 95-97 accessor methods, 113-114 Adaptor project, 169-187 design notes, 173-179 implementation of, 179-187 Adaptor::DBI module, 170, 172 database mapping, 175 implementation of, 184-187 object uniqueness and, 179 Adaptor::File module, 170 database mapping, 175-176 implementation of, 179-184 object uniqueness and, 179 add_prop procedure, 281 add_prop_list procedure, 281 after function, 247 alarm function, 80, 247 aliases (see typeglobs) allocate subroutine, 111 allocating memory, 291-292, 365 anonymous arrays, 10, 15 definition of, 3 hashes, 10, 15 subroutines naming, 47 references to, 52 API, Perl, 311-313 example of using, 313-316 Archimedean spiral (example), 232 architecture, Perl, 321-328 arrays, 17 anonymous, 10, 15 of arrays, 25-27 arrays (continued) arrow notation for, 7 AVs (array values), 335-337 dynamic binding, 142-144 files as (example), 142-144 of hashes, 28 multidimensional, 14 passing to subroutines, 8-9 references to, 5-6, 20-21 storing attributes with, 124-132 of subroutine references, 54 of symbolic references, 16 arrays, SWIG and, 298 arrow notation (->), 7-8, 14 indirect notation versus, 109 for instance methods, 106 associations, object, 177-178 associative arrays (see hashes) AST (abstract syntax tree), 274-275 AST module, 280-282 at sign (@), for dereferencing arrays, 5 attributes accessor methods for, 113-114 class attributes, 107 computed, 114 efficient storage of, 123-134 inheritance of, 135 object attributes, 101-102 storing with arrays, 124-132 storing with typeglobs, 132-134 AUTOLOAD function, 94, 112 autoloading modules/packages, 94-95 automatic dereferencing, 8 Autosplit module, 95 AVs (array values), 335-337 B backslash (\) in static allocation, 3 base classes, 110 overriding, 111-112 Beazley, Dave, 290 BEGIN subroutine, compilation and, 88 behavior, object, 103 Bentley, Jon, 23 Berkeley DB, 160-161 bidirectional communication, 193 bind function, 248 binding events (see events) bitmaps, widgets and, 228 bless statement, 105-106 blessed references, 335 blocking calls, 190, 193, 197 event loops and, 250 nonblocking filehandles versus, 197-199 blocks of code, 12-13 bootstrapping C library, 292 boundaries, persistence and, 154 braces { }, 12-13 anonymous hashes, 10 brackets [ ] for anonymous arrays, 10 Brooks, Fred, 99 buttons, 228-230, 374-375 checkbuttons, 230, 375 radiobuttons, 229-230, 374 bye function, 280, 281 C C/C++ languages classes of, SWIG and, 298 data structures in, 24 dynamic tracing, 152 exception handling, 70 header files, 292-294 modular programming in, 98 object orientation, 120 references in, 22 run-time evaluation and error handling, 82 subroutines in, 65 using with Perl, 290-308 Mandelbrot code example, 294-297 XS and C++, 304, 364 calculator, eval for (example), 73 callbacks, 53-54, 208 associating with button clicks, 229 closures for, 59-60 objects as, 64 widgets and, 248-251 caller function, 391 can function, 114 Canvas widgets, 230-232, 375-377 Tetris GUI (example), 252-260 CASE tools, 271-272 cget function, 229 checkbuttons, 230, 375 child processes, 194-195 CHLD signal, 195 Christiansen, Tom, 23, 37, 64, 81 circular references, 19 class (static) methods, 107-109 class attributes, 107 classes in Java, 98 overriding, 111-112 superclasses (base classes), 110 clients handling multiple, 193-199 prebuilt modules for, 201-202 closures, 56-64, 346-348 objects versus, 63-64 syntax, 388 COBOL language, 1 code code values (CVs), 342-348 hand-coding XSUBs, 353-356 CODE directive (XS), 303 code generation, 270-273 input specification parser, 274, 279 example of, 287-289 Jeeves framework, 273-277, 278-287 stages of, 327-328 collision chaining, 338 colors, widgets and, 228 columns, extracting from files (example), 76-80 command lines, aliasing on, 45 command property (see widgets) commit_transaction function, 172 communications endpoints (see sockets) compiling, 370 modules/packages, 88-89 with yacc, 327-328 component-based programming, xiii composition, 136-137 concurrency, 154 connect function, 204 connectionless communication, 190 connection-oriented communication, 189-190 constant folding, 327 constants, 47 references to, 3 context propagation, 327 context stack, 357 Ctrl-C signal, 55 CVs (code values), 342-348 cxstack, 357 D -D command-line switch, 320 Data::Dumper module, 35, 157-158 data structures (see structures) data type translation, 291 databases generating schema for, 277 mapping, 175-176 DB_File module, 160-161 DBD::Oracle module, 162 DBI module, 170, 172 database mapping, 175 implementation of, 184-187 object uniqueness and, 179 DBI specification, 161-166 DBM files, tie statement with, 145 DBM module, 159 deadlocks, 193 RPC and, 216 deallocating memory, 365 debugger, Perl, 320-321 deep binding, 65 delegation, 134-135 denial of resource attacks, 328 dereferencing, 4-6 automatic, 8 multiple levels of indirection, 11-12 subroutine references, 52-53 DESTROY function, 112, 139 destroying modules/packages, 88-89 objects, 112 Devel::Dump module, 337 Devel::Peek module, 320, 333-334 Devel::RegExp module, 320 Devel::Symdump module, 320 diamond (< >) operator, 42 die function, 69-70, 391 time-outs and, 80 directory handles, 48 modules/packages and, 85 (see also filehandles) DirHandle module, 48 dispatch tables, 54 divide-by-zero error, trapping, 69 documentation Javadoc format, 272 POD format, 272 dollar sign ($), dereferencing scalars, 5 Douady, Adrien, 305 double indexing scheme (example), 32-33 doubles (NVs), 329-331 Dump module, 337 Dumper module, 157-158 dumpValue function, 34-35 dynamic allocation, 1-3 in other languages, 21-22 scalars and, 10-11 dynamic behavior (see run-time evaluation) dynamic binding, 138 arrays, 142-144 filehandles, 146 hashes, 144-145 monitoring variables (example), 146-151 other languages and, 151-152 scalars, 139-142 dynamic scoping, 41-42 E -e command-line option, 67 /e flag with substitutions, 73-74 element references, 20-21 Embed module, 317 embedding Perl, 309-317, 367-369 macros for, 352 emit_open_file procedure, 284 emit_opening_statement procedure, 283 encapsulation, 101, 113, 173-174 END block, compilation and, 89 Entry widgets, 234-235, 379-380 Env module, 93, 145 errors creating uniform DBI numbers, 166 eval function and, 69 when parsing files, 88 (see also exceptions) Ev function, 249-250 $EVAL_ERROR variable, 69 eval function, 391 exception handling with, 69-71 expression evaluation with, 67-69, 72-74 improving preformance with, 74-80 other languages and, 81-82 quotation marks and, 72 security and, 68 for time-outs, 80-81 event loops Msg module, 214-215 Perl/Tk and, 226 widgets and, 250-251 events event details, 249 modifiers of, 248 multiple bindings to, 249 widget event bindings, 248-250 examples, obtaining, xix-xxi exceptions, 391 Exception.pm module, 70-71 exceptions.pl module, 71 handling with eval, 69-71 modules for, 70-71 other languages and, 81-82 SWIG and, 299 executor, 328 Exporter module, 91-93 expression evaluation, 67-69, 72-74 /e flag with substitutions, 73-74 expressions, plotting, 56 EXTEND macro, 355 extensions, Perl, 316 ExtUtils::Embed module, 317 F F_SETFL command, 198 Fcntl module, 198 FETCH function, 139 File module, 170 database mapping, 175-176 implementation of, 179-184 object uniqueness and, 179 FileHandle module, 48, 50 filehandles, 48-50, 392 dynamic binding, 146 localizing, 49 modules/packages and, 85 networking and, 200-201 nonblocking, 197-199 passing to subroutines, 49 fileno function, 200 files as arrays (example), 142-144 extracting columns from (example), 76-80 modules/packages and, 87-88 serialization (see serialization) FIRSTKEY function, 145 flush function, 172 Adaptor::DBI module, 186 Adaptor::File module, 180-181 FMTEYEWTK tutorials, 23, 37 FNDELAY flag, 198 foreach statement, 44 foreign keys, 177 fork function, 195 forking servers, 194-195 fractal-drawing example, 294-297, 305-308 Frame widgets, 236 freeze function, 219 FreezeThaw module, 156-157 FTP module, 201 FTP, obtaining examples by, xix FTPMAIL, obtaining examples by, xx fully qualified names, 85 functions, SWIG, 299 future of Perl, 369-370 G garbage collection, 19 objects and, 112 generating random numbers, 62-63 generic XS typemaps, 363 geometry management, 225, 244-247 get_attributes function, 174 database mapping and, 175-176 get_line function, 192 glob values (see typeglobs) global variables, 39 glue code, 291 writing, 303 graphical user interfaces (see GUIs) graphics, widgets and, 228 grep, multipattern (example), 74-75 grid function, 246-247 grid geometry manager, 246-247 GUIs (graphical user interfaces), 222-224 Perl/Tk and, 224-226 perlman text viewer example, 261-269 Tetris (example), 252-260 GVs (see typeglobs) H h2xs tool (see XS tool) handles (see directory handles; filehandles) handling exceptions (see exceptions) multiple clients, 193-199 signals, 55 handling exceptions (see exceptions) hard references, 19 hash functions, 339 hash values/entries (HVs/HEs), 337-340 stashes (see symbol tables) hashes, 17 anonymous, 10, 15 arrow notation for, 7 dynamic binding, 144-145 of hashes, 27-28 named, 13 passing to subroutines, 8-9 professors/students/courses example, 29-32 references to, 6, 20-21 simulating data structures with, 24 of symbolic references, 16 header files (C), 292-294 here documents, 283 HEs (hash entries), 337-340 higher-order procedures, 56 HiRes module, 141 HList widgets, 242-244, 384-385 Hubbard, John, 305 Hungarian notation, 12 HVs (hash values), 337-340 I -I command-line option, 88 I/O abstraction, 323 I/O redirection, 49 identity, object, 102, 176-177 IDL (Interface Definition Language), 271 images, widgets and, 228 impedance mismatch, 154 implementation inheritance, 136 import subroutine, 92 importing symbols, 91-93 @INC array, 88 indexes, text positioning, 233-234 indirect notation, 109 indirection, multiple levels of, 11-12 INET module, 192 Ing-Simmons, Nick, 223 inheritance, 101, 110-112, 135-137, 176 hierarchy, searching, 115 initializing C library, 292 modules/packages, 88-89 input specification parser, 274, 279 example of, 287-289 instance methods, 103 arrow notation for, 106 INT signal, 55 integer values (IVs), 329-331, 335 Interface Definition Language (IDL), 271 interface functions, 103 interface inheritance, 136 interpreters, multiple, 323 introspection (see reflection) IO objects, 200-201 IO::Select module, 195-197, 200-201 IO::Socket module, 191-193 IP (Internet) addresses, 190 @ISA array, 110 isa function, 114 iterators, 60-63 IVs (integer values), 335 J Java language callbacks in, 65 dynamic tracing, 152 exception handling, 70 modular programming in, 98 object orientation, 120 references in, 22 run-time evaluation and error handling, 82-83 Jeeves code generation framework example of, 273-277 implementation of, 280-287 overview of, 278-280 jeeves driver program, 278, 286-287 K keyboard events, 248 L labels, 228 lexical scoping, 40-42 lexical variables, 40, 86 libraries, 87 lists HList widgets, 242-244, 384-385 Listbox widgets, 235-236, 380-381 ScrlListBox function, 239 load path, 88 load_all function, 181-182 loading modules/packages, 94-95 local filehandles, 49 variables, 45-46, 58, 345-346 local operator, 11 my operator versus, 40-42 localizing variables, 11 logical text widget positioning, 233 longjmp function, 80-81 M -M option, 317 machine independence, 155 macros to manipulate stacks, 354-356 magic variables, 348-350 main (top-level) window, Perl/Tk, 224-225 Makefile, generating automatically, 296-297 malloc command (C), 2 man pages, viewing with perlman, 261-269 Mandelbrot code example, 294-297, 305-308 many-to-many associations, 178 marks, 233 markstacks, 351 marshalling parameters, 216 matrices data structure (example), 25-28 memory denial of resource attacks, 328 managing, 17-21, 291-292 XS tool and, 365 Menu widgets, 236-238, 381-382 MenuButton widget, 237 messages, definition of, 203 messaging protocol, 351-357 meta-data, 155, 163-165 meta-information, 391 methods accessor methods, 113-114 class (static) methods, 107-109 instance methods, 103, 106 searching for, 115-116 SWIG, 299 widget methods, 373 MLDBM module, 160 modifiers, event, 248 modules/packages, xvii, 84-97 autoloading, 94-95 conventions for, 116-119 files and, 87-88 initializing and destroying, 88-89 @ISA array, 110 nested, 93-94 in other languages, 97-98 prebuilt clients, 201-202 privacy and, 89-90 syntax for, 388-389 (see also under specific module name) monitoring variables (example), 146-151 mortal calls, 331 Msg module, 203-215 implementation of, 206-215 multidimensional arrays, 14 matrix representation with, 25-27 multipattern grep (example), 74-75 multiplexing, 195-197 multithreading, 199, 369 networking and, 194-195, 199 scratchpads and, 346 my operator, 11 local operator versus, 40-42 typeglobs and, 44 my variables, 345-346 N namespaces importing symbols into, 91-93 privacy and, 89-90 working with multiple, 85 naming anonymous subroutines, 47 modules versus libraries, 87 named hashes, 13 predifined variables, 45 nested data structures, 13-15, 387 SWIG and, 300 modules/packages, 93-94 Net::FTP module, 201 Net::POP3 module, 202 networking, 189-191 bidirectional communication, 193 handling multiple clients, 193-199 IO objects and filehandles, 200-201 RPC module, 215-221 servers, 199 new function Adaptor::DBI module, 174, 184 Adaptor::File module, 174 IO::Socket module, 200 NEXTKEY function, 145 nonnblocking filehandles, 197-199 NVs (doubles), 329-331 O O_NDELAY flag, 198 object orientation (OO), 99-101 inheritance, 110-112, 135-137 other languages and, ??-120, 120-?? polymorphism, 104-107 object pointers, 335 object references, 103 objects, 101-114, 321-323 associations between, 177-178 attributes of, 101-102, 113-114, 123-134 closures versus, 63-64, 347-348 delegation, 134-135 destroying, 112 encapsulating (see encapsulation) faster, 370 identity of, 176-177 IO objects, 200-201 syntax of, 389-390 uniquess of, 178-179 ObjectTemplate library, 124-132, 171 ODBC module, 167 ODBC specification, 161 one-to-many associations, 178 OO (see object orientation) opcodes, 323-327 open function, 48 opendir function, 48 optimizing (peephole optimizer), 327 Oracle module, 162 oraperl executable, 162 orthogonal (transparent) persistence, 169-170, 173 Ousterhout, John, xiv overriding base classes, 111-112 P pack function, 225, 244-246 package statement, 85 packages (see modules/packages) packer geometry manager, 244-246 padlists, 345 parameters passing with typeglobs, 44 SWIG and, 299 XS and, 302-303 parentheses, for anonymous arrays, 10 parse_query function, 182-184 parser, input specification, 274, 279 example of, 287-289 parser, template, 282-285 pattern matching (example), 74-75 PDL module, 25 Peek module, 320, 333-334 peephole optimizer, 327 percent sign (%) for dereferencing hashes, 6 performance efficient attribute storage, 123-134 eval function to improve, 74-80 memory management, 17-21, 365 references and, 9-10 typeglob aliases and, 44-45 Perl advantages of, xiv-xv API for, 311-316 architecture, 321-328 code generation, 270-289 compiler for, 370 debugger for, 320-321 printing data structures with, 34-35 embedding, 309-317, 352, 367-369 executor, 328 extensions, 316 future of, 369-370 language syntax, xv-xvii resources on, xxi translator, 323-328 using C with, 290-308 Mandelbrot code example, 294-297 value types, 328-350 Perl interpreter, xvii Perl/Tk toolkit, 224-226 event bindings, 248-250 event loops, 250-251 ptK (portable Tk), 223 timers, 247 widget reference, 373-385 perl_alloc function, 312 perl_call_argv function, 312, 313 perl_call_va function, 312, 315, 367-369 perl_construct function, 312 perl_eval_va function, 312, 314, 367-369 perl_parse function, 312, 314 PERL5LIB environment variable, 88 PerlInterpreter structure, 323 PerlIO object, 323 perlman text viewer, 261-269 perltoot document, 64 persistence, 153-167, 168-170 Adaptor project, 169-187 record-oriented, 159-161 streamed data, 156-159 transparent (orthogonal), 169-170, 173 pixmaps, widgets and, 228 platform independence, 155 plotting expressions, 56 .pm and .pl files, 87 POD format, 272 pointer values (PVs), 329-331 pointers (see references) polymorphism, 101, 104-107 "poor man's garbage collection", 19 POP3 module, 202 portability, 155 ports and port numbers, 190 positioning text widgets, 233-234 precedence, references and, 6-7 prepare statement (SQL), 163 pretty-printing, 34-37 privacy, 11, 89-90 procedures (see subroutines) professors/students/courses example, 28-32 properties, widgets, 227-228, 373-374 property types, 349 pseudo-random number generation, 62-63 pTk language (see Perl/Tk toolkit) Python language, xiv closures in, 65 __getattr__ and __setattr__, 151 modular programming in, 97 object orientation of, 120 references in, 21 run-time evaluation and error handling, 82 Q queries, 155, 163-165, 179 querying references, 15-16 quiescent servers, 198 quotation marks, eval function and, 72 R radiobuttons, 229-230, 374 rand function, 62 random database access/insertion, 155 random number generation, 62-63 RDBMSs (relational databases), 100, 161-167 read-only variables, 47 receiving sockets, 191-192 record-oriented persistence, 159-161 redirection, 49 ref function, 15-16, 107 references, 2, 4, 8-13, 329-331 to anonymous arrays/hashes, 10 blessed, IVs and, 335 C pointers, 2 circular, 19 to constants, 47 dereferencing, 4-6 multiple levels of, 11-12 nested data structures, 13-15 object references, 103 in other languages, 21-22 performance and, 9-10 precedence and, 6-7 querying, 15-16 reference counts, 18-20 selective aliases, 47 static allocation, 3-8 to subroutines, 51-56 (see also closures) SWIG and, 298 symbolic, 16-17, 53, 86, 390 syntax for, 386-387 to typeglobs, 48 typeglobs versus, 44 reflection, 95-97 other languages and, 97-98 RegExp tool, 320 relational databases (RDBMSs), 100, 161-167 relative indexing, 234 remote procedure calls (RPC), 215-221, 271 repeat function, 247 require statement, 87 resources for further reading, xxi perldsc document, 23 perltoot document, 64 retrieve_where function, 172 Adaptor::DBI module, 186-187 Adaptor::File module, 182-183 return stack (retstack), 357 RPC (Remote Procedure Call), 271 RPC module, 215-221 RTTI (Run Time Type Identification), 98 run-time binding, 107 run-time errors (see exceptions) run-time evaluation, xvii, 66, 390 in other languages, 81-82 (see also eval function) S safe compartments, 328 Safe module, 13 Sarathy, Gurusamy, 157, 160 save stack, 356 SBDM module, 159 scalars dereferencing, 5, 9 dynamic allocation of, 10-11 dynamic binding, 139-142 scalar values (SVs), 329-335 Scale widgets, 241-242, 384 schema evolution of, 179 generation for database, 277 scope stack, 356 scoping, lexical versus dynamic, 40-42 scratchpads, 40 scripting, advantages of, xii-xiv ScrlListBox function, 239 ScrlText function, 239 scrollbars (scrolling), 383 Scrolled function, 238 scrolling widgets, 238-240 SDBM module, 145 SDBM_File module, 159 search_files subroutine (example), 313-316 searching man pages with perlman, 267 for methods, 115-116 multipattern grep for (example), 74-75 security eval function and, 68 module privacy, 89-90 references and, 13 taint checking, 328 select function, 195-197 Select module, 195-197, 200-201 select statement (SQL), 163 selective aliases, 47 sending sockets, 193 serialization, 154 Data::Dumper module, 157-158 FreezeThaw module, 156-157 Storable module, 158-159 servers, 199 forking, 194-195 quiescent, 198 set_attributes function, 174, 187 database mapping and, 175-176 setjmp function, 80 shadow classes, SWIG and, 299 shallow binding, 65 shared string tables, 340 %SIG variable, 55 SIGALRM signal, 247 SIGIO signal, 194 signals, 55 ALRM (alarm), 80 CHLD (child process), 195 SIGALRM, 247 SIGIO (I/O), 194 smart callbacks, 59-60 socket call, 200 sockets, 190-191 bidirectional communication, 193 handling multiple sockets, 193-199 IO::Socket module, 191-193 receiving with, 191-192 sending with, 193 servers and, 199 Socket API, 191-193 soft references (see symbolic references) SpecPerl utility, 226 SpecTcl utility, 226 speed (see performance) Sql statement (SQL), 167 SQL statements, 162-163 ST macro, 355 stacks, 322, 351-357 stashes (see symbol tables) static allocation, 3-8 static methods, 107-109 static typing hints, 369 statically linked extensions, 317 Stopwatch facility (example), 140-141 Storable module, 158-159 store function, 139, 177 Adaptor::DBI module, 184-186 Adaptor::File module, 180 stores procedures, 166 streamed data, modules for, 156-159 streams, 60-63 strict directive, symbolic references and, 17 strings, 329-331 as filehandles, 50 shared string tables, 340 struct declaration (C), 24 structures Academy Award data (example), 32-34 magic variables, 348-350 nested, 13-15, 300, 387 opcodes, 324-327 Perl value types, 328-350 PerlInterpreter, 323 printing, 34-37 stacks, 351-357 SWIG and, 298, 300 type-checking hints, 369 user-defined, 24-25 matrices example, 25-28 subroutines anonymous, 47, 52 BEGIN, compilation and, 88 calling, 352-353 closures, 56-64 delaying loading of, 95 dispatch tables, 54 eval function and, 68 modules/packages and, 85 passing arrays/hashes to, 8-9 passing filehandles to, 49 private names for, 90 referencing, 51-56 substitutions, /e flag with, 73-74 substr function, 76 SUPER pseudoclass, 111 superclasses, 110 SVs (scalar values), 329-335 SWIG tool, 24, 272, 290 C header file and, 292 features of, 297-300 Mandelbrot code example, 295-297 typemaps, 366 XS tool versus, 294 XSUBs and, 353-356 Symbol module, 48 symbol tables, 39, 322, 341-342 accessing, 95-97 modules/packages and, 86 symbolic references, 16-17, 19, 53, 390 modules/packages and, 86 symbols, importing, 91-93 Symdump module, 320 synchronicity, 215 syntax tree, 274-275 sysread operator, 197, 198, 200 syswrite operator, 193, 197, 198, 200 T -T command-line option, 328 tagged styles, widget, 234 taint checking, 328 taint-mode option, 13 Tcl language, xiv, 223 dynamic evaluation versus subroutines, 64 modular programming in, 97 object orientation of, 120 references in, 21 run-time evaluation and error handling, 81 trace command, 151 (see also Perl/Tk toolkit) TCP/IP (Transport Control Protocol/IP), 190 template files, 275-277 template parser, 282-285 TemplateParser module, 278 temporaries stack, 356 temporary aliases, 43-44 Tetris GUI (example), 252-260 text Entry widgets, 234-235, 379-380 perlman viewer (example), 261-269 positioning, 233-234 scrolling, 239 Text widgets, 232-235, 377-379 Thompson, Ken, 159 threads (see multithreading) tie statement, 138 with anonymous values, 142 with arrays, 142-144 with filehandles, 146 with hashes, 144-145 monitoring variables (example), 146-151 with scalars, 139-142 Text widgets and, 235 TIEARRAY function, 142-144 TieFile facility (example), 142-144 TIESCALAR function, 139 Time::HiRes module, 141 time-outs, eval for, 80-81 timers, 205, 247 Timer module, 141 Tix extension library, 224 Tk toolkit (see Perl/Tk toolkit) TLI (Transport Layer Interface), 191 tmps_stack, 356 top-level window, Perl/Tk, 224-225 transactions, 155, 165 translator, 323-328 transparency, 155 transparent (orthogonal) persistence, 169-170, 173 triggers, 166 Trojan horses, 13 type-checking hints, 369 typeglobs, 38-40, 42-46, 341-342, 392 aliasing on command line, 45 for filehandles, 49 my operator with, 44 references to, 48 selective aliases, 47 storing attributes with, 132-134 temporary aliases, 43-44 variable suicide, 38, 45-46 typemaps SWIG tool and, 298, 366 XS tool, 360-364 U UDP/IP (User Datagram Protocol), 190 Uhler, Stephen, 226 uniqueness of objects, 178-179 UNIVERSAL module, 114-116 use statement, 87, 91-93 user interfaces (see GUIs) user-defined structures, 24-25 matrices example, 25-28 V -V command-line option, 88 value types, Perl, 328-350 hints for checking, 369 variables, 17, 322 eval function and, 68 friendly names for, 45 global, 39 Hungarian notation, 12 lexical, 40, 86 local, 45-46, 58, 345-346 localizing (making private), 11, 89-90 magic, 348-350 modules/packages and, 85-86 monitoring (example), 146-151 my variables, 345-346 read-only, 47 references/pointers (see references) static allocation, 3-8 varable suicide, 38, 45-46 VERSION function, 115 virtual tables, 348 visit function, 280, 281 Visual Basic, xiv W -w command-line option, 151 wait function, 195 waitpid function, 195 widgets, 223 event bindings and, 248-250 event loops and, 250-251 geometry management, 225, 244-247 list of, 226-244 reference for, 373-385 scrolling, 238-240 tagged styles, 234 timers, 247 Win32::ODBC module, 167 Win32::Timer module, 141 windowing platforms (see GUIs) Wirth, Nicklaus, 100 X X Windows platform, 223 XPUSHs macro, 355 XS tool, 272, 290 C header file and, 293 extensions, 357-360 features of, 301-304 Mandelbrot code example, 297 memory management, 365 SWIG tool versus, 294 typemaps, 360-364 xsubpp, special details of, 302 XSUBs and, 353-356 xscrollcommand function, 240 XSRETURN macro, 355 xsubpp tool (see XS tool) XSUBs, hand-coding, 353-356 Y yacc compiler, 327-328 yscrollcommand function, 240 Z Zakharevich, Ilya, 156 END

Product Details

ISBN:
9781565922204
Author:
Srinivasan, Sriram
Publisher:
O'Reilly Media
Location:
Sebastopol, CA :
Subject:
Programming Languages - General
Subject:
Technology
Subject:
Computer graphics
Subject:
Computers
Subject:
Computer programs
Subject:
Programming Languages - CGI, Javascript, Perl, VBScript
Subject:
Perl (computer program language)
Subject:
Object-oriented programming
Subject:
Perl
Subject:
Books; Computers & Internet; Networking & OS; Operating Systems; Unix; Programming
Subject:
Computer Books: Operating Systems
Subject:
Perl (Computer program languag
Copyright:
Edition Number:
1st ed.
Edition Description:
Print PDF
Series:
Perl Series
Publication Date:
19970811
Binding:
Paperback
Language:
English
Illustrations:
Yes
Pages:
432
Dimensions:
9.19 x 7 x 0.92 in 1.57 lb

Other books you might like

  1. Perl Cookbook Used Trade Paper $14.95
  2. Programming Perl, 3rd Edition Used Trade Paper $25.00
  3. Perl & XML New Trade Paper $40.95
  4. Learning Perl/TK Used Trade Paper $11.95
  5. J2ee Design Patterns Used Trade Paper $13.50
  6. Perl Database Programming New Trade Paper $68.50

Related Subjects

Computers and Internet » Computer Languages » Perl

Advanced Perl Programming 1ST Edition Used Trade Paper
0 stars - 0 reviews
$9.95 In Stock
Product details 432 pages O'Reilly & Associates - English 9781565922204 Reviews:
"Synopsis" by ,
This book covers complex techniques for managing production-ready Perl programs and explains methods for manipulating data and objects that may have looked like magic before. It gives you necessary background for dealing with networks, databases, and GUIs, and includes a discussion of internals to help you program more efficiently, and imbed Perl within C when necessary.
spacer
spacer
  • back to top

FOLLOW US ON...

     
Powell's City of Books is an independent bookstore in Portland, Oregon, that fills a whole city block with more than a million new, used, and out of print books. Shop those shelves — plus literally millions more books, DVDs, and gifts — here at Powells.com.