چه کسانی این کتاب را می‌خوانند

دانشجوعلاقه‌مند یادگیری
کتابخوان حرفه‌ایلذت مطالعه
نویسندهالهام‌گیری

Programming Perl

Tom Christiansen, Larry Wall

قیمت نهایی

۴۰٬۰۰۰ تومان۴۹٬۰۰۰ تومان۱۸٪ تخفیف
  • تخفیف زمان‌دار−۹٬۰۰۰ تومان

۹٬۰۰۰ تومان صرفه‌جویی نسبت به قیمت اصلی

نسخه اصلی و اورجینال

بلافاصله پس از خرید، فایل کتاب روی دستگاه شما آمادهٔ دانلود است.

تحویل فوری
پرداخت امن
ضمانت فایل
پشتیبانی

مشخصات کتاب

سال انتشار
۱۹۹۶
فرمت
PDF
زبان
انگلیسی
حجم فایل
۱۰٫۹ مگابایت
شابک
9780596153670، 9781565921498، 9781565929746، 0596153678، 1565921496، 1565929748

دربارهٔ کتاب

This comprehensive guide gives readers the inside scoop to the nooks and crannies of the language. Expanded to cover version 5.6, new topics of "Programming Perl" include threading, the compiler, Unicode, and other new features that have been added since the previous edition. Perl is a powerful programming language that has grown in popularity since it first appeared in 1988. The first edition of this book, Programming Perl, hit the shelves in 1990, and was quickly adopted as the undisputed bible of the language. Since then, Perl has grown with the times, and so has this book. Programming Perl is not just a book about Perl. It is also a unique introduction to the language and its culture, as one might expect only from its authors. Larry Wall is the inventor of Perl, and provides a unique perspective on the evolution of Perl and its future direction. Tom Christiansen was one of the first champions of the language, and lives and breathes the complexities of Perl internals as few other mortals do. Jon Orwant is the editor of The Perl Journal, which has brought together the Perl community as a common forum for new developments in Perl. Any Perl book can show the syntax of Perl's functions, but only this one is a comprehensive guide to all the nooks and crannies of the language. Any Perl book can explain typeglobs, pseudohashes, and closures, but only this one shows how they really work. Any Perl book can say that my is faster than local, but only this one explains why. Any Perl book can have a title, but only this book is affectionately known by all Perl programmers as The Camel. Programming Perl -1 Scroll down to the Underground 1 Table of Contents 2 Preface 3 [Preface] The Rest of This Book 7 [Preface] Additional Resources 9 [Preface] How to Get Perl 12 [Preface] Conventions Used in This Book 16 [Preface] Acknowledgments 17 [Preface] We'd Like to Hear from You 18 [Chapter 1] An Overview of Perl 19 [Chapter 1] 1.2 Natural and Artificial Languages 21 [Chapter 1] 1.3 A Grade Example 28 [Chapter 1] 1.4 Filehandles 32 [Chapter 1] 1.5 Operators 35 [Chapter 1] 1.6 Control Structures 41 [Chapter 1] 1.7 Regular Expressions 47 [Chapter 1] 1.8 List Processing 53 [Chapter 1] 1.9 What You Don't Know Won't Hurt You (Much) 55 [Chapter 2] The Gory Details 56 [Chapter 2] 2.2 Built-in Data Types 58 [Chapter 2] 2.3 Terms 59 [Chapter 2] 2.4 Pattern Matching 78 [Chapter 2] 2.5 Operators 96 [Chapter 2] 2.6 Statements and Declarations 114 [Chapter 2] 2.7 Subroutines 129 [Chapter 2] 2.8 Formats 139 [Chapter 2] 2.9 Special Variables 145 [Chapter 3] Functions 165 [Chapter 3] 3.2.1 /PATTERN/ 169 [Chapter 3] 3.2.2 ?PATTERN? 170 [Chapter 3] 3.2.3 abs 171 [Chapter 3] 3.2.4 accept 172 [Chapter 3] 3.2.5 alarm 173 [Chapter 3] 3.2.6 atan2 174 [Chapter 3] 3.2.7 bind 175 [Chapter 3] 3.2.8 binmode 176 [Chapter 3] 3.2.9 bless 177 [Chapter 3] 3.2.10 caller 178 [Chapter 3] 3.2.11 chdir 179 [Chapter 3] 3.2.12 chmod 180 [Chapter 3] 3.2.14 chop 181 [Chapter 3] 3.2.15 chown 183 [Chapter 3] 3.2.16 chr 184 [Chapter 3] 3.2.17 chroot 185 [Chapter 3] 3.2.18 close 186 [Chapter 3] 3.2.19 closedir 187 [Chapter 3] 3.2.20 connect 188 [Chapter 3] 3.2.21 cos 189 [Chapter 3] 3.2.22 crypt 190 [Chapter 3] 3.2.23 dbmclose 192 [Chapter 3] 3.2.24 dbmopen 193 [Chapter 3] 3.2.25 defined 195 [Chapter 3] 3.2.26 delete 197 [Chapter 3] 3.2.27 die 198 [Chapter 3] 3.2.28 do 200 [Chapter 3] 3.2.29 dump 201 [Chapter 3] 3.2.30 each 203 [Chapter 3] 3.2.31 eof 204 [Chapter 3] 3.2.32 eval 206 [Chapter 3] 3.2.33 exec 209 [Chapter 3] 3.2.34 exists 211 [Chapter 3] 3.2.35 exit 212 [Chapter 3] 3.2.36 exp 213 [Chapter 3] 3.2.37 fcntl 214 [Chapter 3] 3.2.38 fileno 216 [Chapter 3] 3.2.39 flock 217 [Chapter 3] 3.2.40 fork 219 [Chapter 3] 3.2.41 format 221 [Chapter 3] 3.2.42 formline 223 [Chapter 3] 3.2.43 getc 224 [Chapter 3] 3.2.44 getgrent 226 [Chapter 3] 3.2.45 getgrgid 227 [Chapter 3] 3.2.46 getgrnam 228 [Chapter 3] 3.2.47 gethostbyaddr 229 [Chapter 3] 3.2.48 gethostbyname 230 [Chapter 3] 3.2.49 gethostent 231 [Chapter 3] 3.2.50 getlogin 232 [Chapter 3] 3.2.51 getnetbyaddr 233 [Chapter 3] 3.2.52 getnetbyname 234 [Chapter 3] 3.2.53 getnetent 235 [Chapter 3] 3.2.54 getpeername 236 [Chapter 3] 3.2.55 getpgrp 237 [Chapter 3] 3.2.56 getppid 238 [Chapter 3] 3.2.57 getpriority 239 [Chapter 3] 3.2.58 getprotobyname 240 [Chapter 3] 3.2.59 getprotobynumber 241 [Chapter 3] 3.2.60 getprotoent 242 [Chapter 3] 3.2.61 getpwent 243 [Chapter 3] 3.2.62 getpwnam 244 [Chapter 3] 3.2.63 getpwuid 245 [Chapter 3] 3.2.64 getservbyname 246 [Chapter 3] 3.2.65 getservbyport 247 [Chapter 3] 3.2.66 getservent 248 [Chapter 3] 3.2.67 getsockname 249 [Chapter 3] 3.2.68 getsockopt 250 [Chapter 3] 3.2.69 glob 251 [Chapter 3] 3.2.70 gmtime 252 [Chapter 3] 3.2.71 goto 253 [Chapter 3] 3.2.72 grep 255 [Chapter 3] 3.2.73 hex 256 [Chapter 3] 3.2.74 import 257 [Chapter 3] 3.2.75 index 258 [Chapter 3] 3.2.76 int 259 [Chapter 3] 3.2.77 ioctl 260 [Chapter 3] 3.2.78 join 262 [Chapter 3] 3.2.79 keys 263 [Chapter 3] 3.2.80 kill 265 [Chapter 3] 3.2.81 last 266 [Chapter 3] 3.2.82 lc 267 [Chapter 3] 3.2.83 lcfirst 268 [Chapter 3] 3.2.84 length 269 [Chapter 3] 3.2.85 link 270 [Chapter 3] 3.2.86 listen 271 [Chapter 3] 3.2.87 local 272 [Chapter 3] 3.2.88 localtime 274 [Chapter 3] 3.2.89 log 275 [Chapter 3] 3.2.90 lstat 276 [Chapter 3] 3.2.91 map 277 [Chapter 3] 3.2.92 mkdir 278 [Chapter 3] 3.2.93 msgctl 279 [Chapter 3] 3.2.94 msgget 280 [Chapter 3] 3.2.95 msgrcv 281 [Chapter 3] 3.2.96 msgsnd 282 [Chapter 3] 3.2.97 my 283 [Chapter 3] 3.2.98 new 285 [Chapter 3] 3.2.99 next 286 [Chapter 3] 3.2.100 no 287 [Chapter 3] 3.2.101 oct 288 [Chapter 3] 3.2.102 open 289 [Chapter 3] 3.2.103 opendir 294 [Chapter 3] 3.2.104 ord 295 [Chapter 3] 3.2.105 pack 296 [Chapter 3] 3.2.106 package 299 [Chapter 3] 3.2.107 pipe 301 [Chapter 3] 3.2.108 pop 302 [Chapter 3] 3.2.109 pos 303 [Chapter 3] 3.2.110 print 304 [Chapter 3] 3.2.111 printf 306 [Chapter 3] 3.2.112 push 307 [Chapter 3] 3.2.113 q/STRING/ 308 [Chapter 3] 3.2.114 quotemeta 309 [Chapter 3] 3.2.115 rand 310 [Chapter 3] 3.2.116 read 311 [Chapter 3] 3.2.117 readdir 312 [Chapter 3] 3.2.118 readlink 313 [Chapter 3] 3.2.119 recv 314 [Chapter 3] 3.2.120 redo 315 [Chapter 3] 3.2.121 ref 316 [Chapter 3] 3.2.122 rename 317 [Chapter 3] 3.2.123 require 318 [Chapter 3] 3.2.124 reset 320 [Chapter 3] 3.2.125 return 321 [Chapter 3] 3.2.126 reverse 322 [Chapter 3] 3.2.127 rewinddir 323 [Chapter 3] 3.2.128 rindex 324 [Chapter 3] 3.2.129 rmdir 325 [Chapter 3] 3.2.130 s/// 326 [Chapter 3] 3.2.131 scalar 327 [Chapter 3] 3.2.132 seek 328 [Chapter 3] 3.2.133 seekdir 330 [Chapter 3] 3.2.134 select (output filehandle) 331 [Chapter 3] 3.2.135 select (ready file descriptors) 333 [Chapter 3] 3.2.136 semctl 335 [Chapter 3] 3.2.137 semget 336 [Chapter 3] 3.2.138 semop 337 [Chapter 3] 3.2.139 send 338 [Chapter 3] 3.2.140 setpgrp 339 [Chapter 3] 3.2.141 setpriority 340 [Chapter 3] 3.2.142 setsockopt 341 [Chapter 3] 3.2.143 shift 342 [Chapter 3] 3.2.144 shmctl 343 [Chapter 3] 3.2.145 shmget 344 [Chapter 3] 3.2.146 shmread 345 [Chapter 3] 3.2.147 shmwrite 346 [Chapter 3] 3.2.148 shutdown 347 [Chapter 3] 3.2.149 sin 348 [Chapter 3] 3.2.150 sleep 349 [Chapter 3] 3.2.151 socket 350 [Chapter 3] 3.2.152 socketpair 351 [Chapter 3] 3.2.153 sort 352 [Chapter 3] 3.2.154 splice 354 [Chapter 3] 3.2.155 split 356 [Chapter 3] 3.2.156 sprintf 359 [Chapter 3] 3.2.157 sqrt 361 [Chapter 3] 3.2.158 srand 362 [Chapter 3] 3.2.159 stat 363 [Chapter 3] 3.2.160 study 365 [Chapter 3] 3.2.161 sub 367 [Chapter 3] 3.2.162 substr 369 [Chapter 3] 3.2.163 symlink 370 [Chapter 3] 3.2.164 syscall 371 [Chapter 3] 3.2.165 sysopen 372 [Chapter 3] 3.2.166 sysread 373 [Chapter 3] 3.2.167 system 374 [Chapter 3] 3.2.168 syswrite 376 [Chapter 3] 3.2.169 tell 378 [Chapter 3] 3.2.170 telldir 379 [Chapter 3] 3.2.171 tie 380 [Chapter 3] 3.2.172 tied 382 [Chapter 3] 3.2.173 time 383 [Chapter 3] 3.2.174 times 384 [Chapter 3] 3.2.175 tr/// 385 [Chapter 3] 3.2.176 truncate 386 [Chapter 3] 3.2.177 uc 387 [Chapter 3] 3.2.178 ucfirst 388 [Chapter 3] 3.2.179 umask 389 [Chapter 3] 3.2.180 undef 390 [Chapter 3] 3.2.181 unlink 391 [Chapter 3] 3.2.182 unpack 392 [Chapter 3] 3.2.183 unshift 394 [Chapter 3] 3.2.184 untie 395 [Chapter 3] 3.2.185 use 396 [Chapter 3] 3.2.186 utime 398 [Chapter 3] 3.2.187 values 399 [Chapter 3] 3.2.188 vec 400 [Chapter 3] 3.2.189 wait 401 [Chapter 3] 3.2.190 waitpid 402 [Chapter 3] 3.2.191 wantarray 403 [Chapter 3] 3.2.192 warn 404 [Chapter 3] 3.2.193 write 405 [Chapter 3] 3.2.194 y/// 406 [Chapter 4] References and Nested Data Structures 407 [Chapter 4] 4.2 Creating Hard References 410 [Chapter 4] 4.3 Using Hard References 414 [Chapter 4] 4.4 Symbolic References 420 [Chapter 4] 4.5 Braces, Brackets, and Quoting 422 [Chapter 4] 4.6 A Brief Tutorial: Manipulating Lists of Lists 424 [Chapter 4] 4.7 Data Structure Code Examples 432 [Chapter 5] Packages, Modules, and Object Classes 443 [Chapter 5] 5.2 Modules 451 [Chapter 5] 5.3 Objects 455 [Chapter 5] 5.4 Using Tied Variables 467 [Chapter 5] 5.5 Some Hints About Object Design 479 [Chapter 6] Social Engineering 491 [Chapter 6] 6.2 Cooperating with Other Processes 501 [Chapter 6] 6.3 Cooperating with Strangers 519 [Chapter 6] 6.4 Cooperating with Other Languages 527 [Chapter 7] The Standard Perl Library 534 [Chapter 7] 7.2 Library Modules 541 [Chapter 7] 7.2.1 AnyDBM_File€- Provide Framework for Multiple DBMs 544 [Chapter 7] 7.2.2 AutoLoader€- Load Functions Only on Demand 547 [Chapter 7] 7.2.3 AutoSplit€- Split a Module for Autoloading 549 [Chapter 7] 7.2.4 Benchmark€- Check and Compare Running Times of Code 551 [Chapter 7] 7.2.5 Carp€- Generate Error Messages 554 [Chapter 7] 7.2.6 Config€- Access Perl Configuration Information 555 [Chapter 7] 7.2.7 Cwd€- Get Pathname of Current Working Directory 557 [Chapter 7] 7.2.8 DB_File€- Access to Berkeley DB 558 [Chapter 7] 7.2.9 Devel::SelfStubber€- Generate Stubs for a SelfLoading Module 565 [Chapter 7] 7.2.10 diagnostics€- Force Verbose Warning Diagnostics 567 [Chapter 7] 7.2.11 DirHandle€- Supply Object Methods for Directory Handles 570 [Chapter 7] 7.2.12 DynaLoader€- Automatic Dynamic Loading of Perl Modules 571 [Chapter 7] 7.2.13 English€- Use English or awk Names for Punctuation Variables 576 [Chapter 7] 7.2.14 Env€- Import Environment Variables 578 [Chapter 7] 7.2.15 Exporter€- Default Import Method for Modules 580 [Chapter 7] 7.2.16 ExtUtils::Install€- Install Files from Here to There 583 [Chapter 7] 7.2.17 ExtUtils::Liblist€- Determine Libraries to Use and How to Use Them 584 [Chapter 7] 7.2.18 ExtUtils::MakeMaker€- Create a Makefile for a Perl Extension 586 [Chapter 7] 7.2.19 ExtUtils::Manifest€- Utilities to Write and Check a MANIFEST File 603 [Chapter 7] 7.2.20 ExtUtils::Miniperl€- Write the C Code for perlmain.c 606 [Chapter 7] 7.2.21 ExtUtils::Mkbootstrap€- Make a Bootstrap File for Use by DynaLoader 607 [Chapter 7] 7.2.22 ExtUtils::Mksymlists€- Write Linker Option Files for Dynamic Extension 608 [Chapter 7] 7.2.23 ExtUtils::MM_OS2€- Methods to Override UNIX Behavior in ExtUtils::MakeMaker 610 [Chapter 7] 7.2.24 ExtUtils::MM_Unix€- Methods Used by ExtUtils::MakeMaker 611 [Chapter 7] 7.2.25 ExtUtils::MM_VMS€- Methods to Override UNIX Behavior in ExtUtils::MakeMaker 615 [Chapter 7] 7.2.26 Fcntl€- Load the C fcntl.h Defines 616 [Chapter 7] 7.2.27 File::Basename€- Parse File Specifications 618 [Chapter 7] 7.2.28 File::CheckTree€- Run Many Tests on a Collection of Files 620 [Chapter 7] 7.2.29 File::Copy€- Copy Files or Filehandles 622 [Chapter 7] 7.2.30 File::Find€- Traverse a File Tree 624 [Chapter 7] 7.2.31 File::Path€- Create or Remove a Series of Directories 626 [Chapter 7] 7.2.32 FileCache€- Keep More Files Open Than the System Permits 628 [Chapter 7] 7.2.33 FileHandle€- Supply Object Methods for Filehandles 629 [Chapter 7] 7.2.34 GDBM_File€- Tied Access to GDBM Library 633 [Chapter 7] 7.2.35 Getopt::Long€- Extended Processing of Command-Line Options 634 [Chapter 7] 7.2.36 Getopt::Std€- Process Single-Character Options with Option Clustering 641 [Chapter 7] 7.2.37 I18N::Collate€- Compare 8-bit Scalar Data According to the Current Locale 643 [Chapter 7] 7.2.38 integer€- Do Arithmetic in Integer Instead of Double 645 [Chapter 7] 7.2.39 IPC::Open2€- Open a Process for Both Reading and Writing 646 [Chapter 7] 7.2.40 IPC::Open3€- Open a Process for Reading, Writing, and Error Handling 648 [Chapter 7] 7.2.41 lib€- Manipulate @INC at Compile-Time 649 [Chapter 7] 7.2.42 Math::BigFloat€- Arbitrary-Length, Floating-Point Math Package 651 [Chapter 7] 7.2.43 Math::BigInt€- Arbitrary-Length Integer Math Package 653 [Chapter 7] 7.2.44 Math::Complex€- Complex Numbers Package 655 [Chapter 7] 7.2.45 NDBM_File€- Tied Access to NDBM Files 656 [Chapter 7] 7.2.46 Net::Ping€- Check Whether a Host Is Online 657 [Chapter 7] 7.2.47 ODBM_File€- Tied Access to ODBM Files 658 [Chapter 7] 7.2.48 overload€- Overload Perl's Mathematical Operations 659 [Chapter 7] 7.2.49 POSIX€- Perl Interface to IEEE Std 1003.1 666 [Chapter 7] 7.2.50 Pod::Text€- Convert POD Data to Formatted ASCII Text 684 [Chapter 7] 7.2.51 Safe€- Create Safe Namespaces for Evaluating Perl Code 685 [Chapter 7] 7.2.52 SDBM_File€- Tied Access to SDBM Files 689 [Chapter 7] 7.2.53 Search::Dict€- Search for Key in Dictionary File 690 [Chapter 7] 7.2.54 SelectSaver€- Save and Restore Selected Filehandle 691 [Chapter 7] 7.2.55 SelfLoader€- Load Functions Only on Demand 692 [Chapter 7] 7.2.56 Shell€- Run Shell Commands Transparently Within Perl 696 [Chapter 7] 7.2.57 sigtrap€- Enable Stack Backtrace on Unexpected Signals 697 [Chapter 7] 7.2.58 Socket€- Load the C socket.h Defines and Structure Manipulators 698 [Chapter 7] 7.2.59 strict€- Restrict Unsafe Constructs 701 [Chapter 7] 7.2.60 subs€- Predeclare Subroutine Names 703 [Chapter 7] 7.2.61 Symbol€- Generate Anonymous Globs; Qualify Variable Names 704 [Chapter 7] 7.2.62 Sys::Hostname€- Try Every Conceivable Way to Get Hostname 706 [Chapter 7] 7.2.63 Sys::Syslog€- Perl Interface to UNIX syslog(3) Calls 707 [Chapter 7] 7.2.64 Term::Cap€- Terminal Capabilities Interface 709 [Chapter 7] 7.2.65 Term::Complete€- Word Completion Module 712 [Chapter 7] 7.2.66 Test::Harness€- Run Perl Standard Test Scripts with Statistics 714 [Chapter 7] 7.2.67 Text::Abbrev€- Create an Abbreviation Table from a List 716 [Chapter 7] 7.2.68 Text::ParseWords€- Parse Text into a List of Tokens 717 [Chapter 7] 7.2.69 Text::Soundex€- The Soundex Algorithm Described by Knuth 718 [Chapter 7] 7.2.70 Text::Tabs€- Expand and Unexpand Tabs 720 [Chapter 7] 7.2.71 Text::Wrap€- Wrap Text into a Paragraph 721 [Chapter 7] 7.2.72 Tie::Hash, Tie::StdHash€- Base Class Definitions for Tied Hashes 722 [Chapter 7] 7.2.73 Tie::Scalar, Tie::StdScalar€- Base Class Definitions for Tied Scalars 724 [Chapter 7] 7.2.74 Tie::SubstrHash€- Fixed-table-size, Fixed-key-length Hashing 726 [Chapter 7] 7.2.75 Time::Local€- Efficiently Compute Time from Local and GMT Time 727 [Chapter 7] 7.2.76 vars€- Predeclare Global Variable Names 728 [Chapter 8] Other Oddments 729 [Chapter 8] 8.2 Common Goofs for Novices 740 [Chapter 8] 8.3 Efficiency 749 [Chapter 8] 8.4 Programming with Style 757 [Chapter 8] 8.5 Distribution and Installation 762 [Chapter 8] 8.6 Perl Poetry 764 [Chapter 8] 8.7 History Made Practical 768 [Chapter 9] Diagnostic Messages 770 Glossary 808 Examples from Programming Perl 842 Index 1025 Index: Symbols and Numbers 1025 Index: A 1038 Index: B 1044 Index: C 1049 Index: D 1057 Index: E 1063 Index: F 1068 Index: G 1074 Index: H 1078 Index: I 1081 Index: J 1085 Index: K 1086 Index: L 1087 Index: M 1092 Index: N 1097 Index: O 1102 Index: P 1106 Index: Q 1114 Index: R 1116 Index: S 1120 Index: T 1132 Index: U 1137 Index: V 1140 Index: W 1143 Index: X 1146 Index: Y 1147 Index: Z 1148 If Perl Itself Is The First Legend Of Larry Wall, This Book - Affectionately Known Everywhere As The Camel Book - Is The Second. If You Buy Only One Book About Perl, No One In The Perl Community Will Question Your Judgment In Buying This One. Contents Include An Extensive Overview Of The Language And Its Syntax; A Complete Reference For All Perl Functions, Operators, And Standard Library Modules; An Explanation Of Perl References And Complex Data Structures; A Detailed. Account Of Perl's Object-oriented Features; And Much More, Including Efficiency, Debugging, Invocation Options, Program Security, Interprocess Communication, Autoloading, Etc. An Overview Of Perl -- The Gory Details -- Functions -- References And Nested Data Structures -- Packages, Modules, And Object Classes -- Social Engineering -- The Standard Perl Library -- Other Oddments -- Diagnositic Messages -- Glossary -- Index. Larry Wall, Tom Christiansen, And Randal L. Schwartz. Programming--cover. Includes Index. Coauthored by Larry Wall, the creator of Perl, this book is the authoritative guide to Perl version 5, the scripting utility now established as the programming tool of choice for the World Wide Web, UNIX system administration, and a vast range of other applications. Learn how to use this versatile cross-platform programming language to solve unique programming challenges. This heavily revised second edition of Programming Perl contains a full explanation of Perl version 5.003 features. It covers Perl language and syntax, functions, library modules, references, and object-oriented features. It also explores invocation options for Perl and the utilities that come with it, debugging, common mistakes, efficiency, programming style, distribution and installation of Perl, and much more. Reviewers have called this book splendid, definitive, and well worth the price. This revised second edition contains a full explanation of the features in Perl version 5.0. It covers version 5.0 Perl syntax, functions, debugging, efficiency, and the Perl library. Also includes a Perl cookbook and a quick-reference card. Pringing History January 1991 First Edition. August 1991 Minor Corrections. March 1992 Minor Corrections. September 1996 Second Edition. July 2000 Third Edition.

قیمت نهایی

۴۰٬۰۰۰ تومان