Perl Template Toolkit. Scalable Templating for the Web
- Autorzy:
- Darren Chamberlain, Dave Cross, Andy Wardley
- Ocena:
- Bądź pierwszym, który oceni tę książkę
- Stron:
- 592
- Dostępne formaty:
-
ePubMobi
Opis ebooka: Perl Template Toolkit. Scalable Templating for the Web
Among the many different approaches to "templating" with Perl--such as Embperl, Mason, HTML::Template, and hundreds of other lesser known systems--the Template Toolkit is widely recognized as one of the most versatile. Like other templating systems, the Template Toolkit allows programmers to embed Perl code and custom macros into HTML documents in order to create customized documents on the fly. But unlike the others, the Template Toolkit is as facile at producing HTML as it is at producing XML, PDF, or any other output format. And because it has its own simple templating language, templates can be written and edited by people who don't know Perl. In short, the Template Toolkit combines the best features of its competitors, with ease-of-use and flexibility, resulting in a technology that's fast, powerful and extensible, and ideally suited to the production and maintenance of web content and other dynamic document systems.In Perl Template Toolkit you'll find detailed coverage of this increasingly popular technology. Written by core members of the technology's development team, the book guides you through the entire process of installing, configuring, using, and extending the Template Toolkit. It begins with a fast-paced but thorough tutorial on building web content with the Template Toolkit, and then walks you through generating and using data files, particularly with XML. It also provides detailed information on the Template Toolkit's modules, libraries, and tools in addition to a complete reference manual.Topics in the book include:
- Getting started with the template toolkit
- The Template language
- Template directives
- Filters
- Plugins
- Extending the Template Toolkit
- Accessing databases
- XML
- Advanced static web page techniques
- Dynamic web content and web applications
Wybrane bestsellery
-
If you're just getting started with Perl, this is the book you want—whether you're a programmer, system administrator, or web hacker. Nicknamed "the Llama" by two generations of users, this best seller closely follows the popular introductory Perl course taught by the authors since 1991. Th...(186.15 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł(-15%) -
This practical XGBoost guide will put your Python and scikit-learn knowledge to work by showing you how to build powerful, fine-tuned XGBoost models with impressive speed and accuracy. This book will help you to apply XGBoost’s alternative base learners, use unique transformers for model d...
Hands-On Gradient Boosting with XGBoost and scikit-learn. Perform accessible machine learning and extreme gradient boosting with Python Hands-On Gradient Boosting with XGBoost and scikit-learn. Perform accessible machine learning and extreme gradient boosting with Python
-
f you’re ready to get started with Raku (formerly Perl 6), this is the book you want, whether you’re a programmer, system administrator, or web hacker. Raku is a new language—a modern reinvention of Perl suitable for almost any task, from short fixes to complete web applications...
Learning Perl 6. Keeping the Easy, Hard, and Impossible Within Reach Learning Perl 6. Keeping the Easy, Hard, and Impossible Within Reach
(186.15 zł najniższa cena z 30 dni)186.15 zł
219.00 zł(-15%) -
Perl is a family of high-level, general-purpose, interpreted, dynamic programming languages consisting of Perl 5 and Perl 6. Perl 6 helps developers write concise and declarative code that is easy to maintain. This book is an end-to-end guide that will help non-Perl developers get to grips with t...
Perl 6 Deep Dive. Data manipulation, concurrency, functional programming, and more Perl 6 Deep Dive. Data manipulation, concurrency, functional programming, and more
-
Want to learn how to program and think like a computer scientist? This practical guide gets you started on your programming journey with the help of Perl 6, the younger sister of the popular Perl programming language. Ideal for beginners, this hands-on book includes over 100 exercises with multip...
Think Perl 6. How to Think Like a Computer Scientist Think Perl 6. How to Think Like a Computer Scientist
(186.15 zł najniższa cena z 30 dni)186.15 zł
219.00 zł(-15%) -
Many programmers would love to use Perl for projects that involve heavy lifting, but miss the many traditional algorithms that textbooks teach for other languages. Computer scientists have identified many techniques that a wide range of programs need, such as:Fuzzy pattern matching for text (id...
Mastering Algorithms with Perl. Practical Programming Through Computer Science Mastering Algorithms with Perl. Practical Programming Through Computer Science
(118.15 zł najniższa cena z 30 dni)118.15 zł
139.00 zł(-15%) -
Take the next step toward Perl mastery with advanced concepts that make coding easier, maintenance simpler, and execution faster. Mastering Perl isn't a collection of clever tricks, but a way of thinking about Perl programming for solving debugging, configuration, and many other real-world proble...(143.65 zł najniższa cena z 30 dni)
143.65 zł
169.00 zł(-15%) -
Perl. Mistrzostwo w programowaniu" to wyjątkowa książka pomagająca w samodzielnej nauce, przeznaczona dla programistów, którzy używali już Perla i znają jego podstawy. Podążając za radami z tego przewodnika, nauczysz się definiować procedury i odwracać zwykły model programowania proceduralnego. B...(14.90 zł najniższa cena z 30 dni)
24.20 zł
44.00 zł(-45%) -
Dzięki książce odkryjesz mało znane i mniej typowe zastosowania tego języka. Czytając ją, dowiesz się, w jaki sposób wykorzystać Perl do różnych zadań.(9.90 zł najniższa cena z 30 dni)
21.45 zł
39.00 zł(-45%) -
This book picks up right where Learning Perl leaves off. With Intermediate Perl, you’ll graduate from short scripts to much larger programs, using features that make Perl a general-purpose language. This gentle but thorough guide introduces you to modules, complex data structures, and objec...
Intermediate Perl. Beyond The Basics of Learning Perl. 2nd Edition Intermediate Perl. Beyond The Basics of Learning Perl. 2nd Edition
(143.65 zł najniższa cena z 30 dni)143.65 zł
169.00 zł(-15%)
Ebooka "Perl Template Toolkit. Scalable Templating for the Web" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Perl Template Toolkit. Scalable Templating for the Web" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Perl Template Toolkit. Scalable Templating for the Web" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- ISBN Ebooka:
- 978-14-493-1323-4, 9781449313234
- Data wydania ebooka:
- 2003-12-23 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Język publikacji:
- angielski
- Rozmiar pliku ePub:
- 1.7MB
- Rozmiar pliku Mobi:
- 5.1MB
Spis treści ebooka
- Perl Template Toolkit
- A Note Regarding Supplemental Files
- Preface
- Audience
- About this Book
- Conventions Used in This Book
- Comments and Questions
- Acknowledgments
- Andy Wardley
- Darren Chamberlain
- David Cross
- 1. Getting Started with the Template Toolkit
- What the Template Toolkit Does
- The Templating Ecosystem
- The Template Toolkit Is for More Than HTML
- The Template Toolkit Lets You Choose Your Separation
- Nonprogrammers Can Maintain Templates
- The Template Toolkit Is Easy to Extend
- Installing the Template Toolkit
- Downloading
- Installing
- Documentation and Support
- Viewing the Documentation
- Overview of the Documentation
- Accessing the Mailing List
- Using the Template Toolkit
- tpage
- ttree
- The Template Module
- Template configuration options
- Apache::Template Module
- The Template Toolkit Language
- Template Variables
- Complex Variables
- Lists
- Hashes
- Nesting list and hash definitions
- Dynamic Variables
- Virtual Methods
- Template Directives
- Variable Directives
- Template Processing Directives
- Loops
- Conditionals
- Filters, Plugins, and Macros
- Integrating and Extending the Template Toolkit
- 2. Building a Complete Web Site Using the Template Toolkit
- Getting Started
- A Single Page
- A Hello World HTML Template
- Processing Templates with tpage
- Getting Started
- Template Components
- Headers and Footers
- The PROCESS directive
- The INSERT directive
- Headers and Footers
- Benefits of Modularity
- Defining Variables
- Configuration Template
- Comments
- Variable values
- Configuration Template
- Loading the Configuration Template
- Merging directives
- Generating Many Pages
- Creating a Project Directory
- ttree Configuration File
- Running ttree for the First Time
- Using a Build Script
- ttree Configuration Directory
- Calling ttree Through the Build Script
- A Place for Everything, and Everything in Its Place
- Running the Build Script
- Skipping Unmodified Templates
- Adding Headers and Footers Automatically
- Defining META Tags
- More Template Components
- The INCLUDE Directive
- Setting Default Values
- The DEFAULT directive
- Expressions
- = versus = =
- Setting variables using expressions
- Setting variables using directives
- The IF Directive
- Wrapper and Layout Templates
- The WRAPPER Directive
- Using an Automatic Wrapper Template
- Using Layout Templates
- Layout Example
- Side-effect wrappers
- Separating layout concerns
- Plugins and the USE directive
- Menu Components
- Simple Menu Template
- The BLOCK directive
- Simple Menu Template
- Component Libraries
- The EXPOSE_BLOCKS option
- The FOREACH Directive
- Defining and Using Complex Data
- Structured Configuration Templates
- Layered Configuration Templates
- Choosing Global Variables Wisely
- Passing Around Data Structures
- Assessment
- 3. The Template Language
- Template Syntax
- Text and Directives
- Template parser
- Parse errors
- Caching templates
- Flexible syntax
- Text and Directives
- Template Tags
- Interpolated Variables
- Comments
- Whitespace Chomping
- Chomping flags
- Chomping options
- Chomping constants
- Template Syntax
- Multiple Directive Tags
- Side-Effect Notation
- Capturing Directive Output
- Template Filenames
- Template Variables
- Whats in a Name?
- Simple Data Types
- Complex Data Types
- Lists
- Hashes
- Dot Operator
- Compound dot operations
- Interpolated variables names
- Private variables
- Dynamic Data Types
- Subroutines
- Objects
- Passing arguments
- Pointless arguments
- Named parameters
- Mixing dynamic and static data
- Returning values
- Error handling
- Special Variables
- template
- component
- loop
- error
- content
- global
- view, item
- Variable Scope
- Compile-Time Constant Folding
- Virtual Methods
- Scalar Virtual Methods
- chunk(size)
- defined
- hash
- length
- list
- match(pattern)
- repeat(n)
- replace(search, replace)
- size
- split(pattern)
- Scalar Virtual Methods
- List Virtual Methods
- first(n)
- grep(pattern)
- join(delimiter)
- last(n)
- max
- merge(list)
- pop
- reverse
- shift
- size
- slice(from, to)
- sort, nsort
- splice(offset, length, list)
- unique
- unshift(item)
- push(item)
- Hash Virtual Methods
- defined(key)
- each
- exists(key)
- import(hash)
- item(key)
- keys
- list
- size
- sort, nsort
- values
- Defining New Virtual Methods
- Stash package variables
- Stash and context methods
- 4. Template Directives
- Accessing Variables
- GET
- SET
- CALL
- DEFAULT
- Accessing Variables
- Accessing External Templates and Files
- INSERT
- INCLUDE
- PROCESS
- WRAPPER
- Defining Local Template Blocks
- Loops
- FOREACH
- Complex data
- Importing hash array items
- Iterating over entries in a hash array
- The loop iterator object
- Nested FOREACH loops
- FOREACH
- WHILE
- Flow control: NEXT and LAST
- Conditionals
- IF, ELSIF, ELSE, and UNLESS
- SWITCH and CASE
- Filters
- Plugins
- USE
- Macros
- MACRO
- Template Metadata
- META
- Exception Handling
- TRY / THROW / CATCH / FINAL
- CLEAR
- Flow Control
- RETURN
- STOP
- NEXT
- LAST
- Debugging
- Perl Blocks
- PERL
- RAWPERL
- 5. Filters
- Using Filters
- Standard Template Toolkit Filters
- collapse
- eval / evaltt
- format(fmt)
- html
- html_break / html_para_break
- html_entity
- html_line_break
- html_para
- indent(pad)
- latex(outputType)
- lcfirst
- lower
- null
- perl / evalperl
- redirect(file, options)
- remove(string)
- repeat(iterations)
- replace(search, replace)
- stderr
- stdout(options)
- trim
- truncate(length)
- ucfirst
- upper
- uri
- 6. Plugins
- Using Plugins
- Standard Template Toolkit Plugins
- Autoformat
- CGI
- Datafile
- Date
- Directory
- DBI
- Dumper
- File
- Format
- GD
- HTML
- Image
- Iterator
- Pod
- String
- Table
- URL
- Wrap
- XML::DOM
- XML::RSS
- XML::Style
- XML::XPath
- 7. Anatomy of the Template Toolkit
- Template Modules
- Template::Service
- Template::Context
- Template::Stash
- Template::Provider
- Template::Parser
- Template::Grammar
- Template::Directive
- Template::Namespace::Constants
- Template::Document
- Template Modules
- The Runtime Engine
- Module Interfaces
- Templates process Method
- The process method
- Input template
- Template variables
- Redirecting template output
- Processing options
- The process method
- The error method
- Templates process Method
- Template::Config
- load
- preload
- instdir
- Template::Constants
- :status
- :error
- :chomp
- :debug
- Template::Base
- new
- error
- debug
- Template::Context
- stash
- insert, include, and process
- template
- plugin and filter
- define_filter
- Template::Provider
- fetch($name)
- store($name, $template)
- paths
- Template::Stash
- get, set
- clone, declone
- Template::Filters
- new
- fetch
- store
- Template::Plugin
- load
- new
- error
- Template::Plugins
- new
- fetch
- Template::Parser and Template::Grammar
- Template::Directive
- Template::Document
- new
- process
- write_perl_file
- AUTOLOAD
- Template::Exception
- Template::Iterator
- 8. Extending the Template Toolkit
- Using and Implementing Noncore Components
- A Provider That Can Fetch Files over HTTP
- Restricting Access to Plugins
- A chrooted Provider
- Using and Implementing Noncore Components
- Creating Filters
- Static Filters
- Dynamic Filters
- Template::Plugin::Filter
- Writing New Filters
- Digest::MD5
- Text::Bastardize
- Text::FIGlet
- Normalizing HTML: HTML::Clean
- Creating Plugins
- The Template::Plugin Module
- Installing Functions into the Stash from Within a Plugin
- Defining Filters from Within a Plugin
- Defining New Virtual Methods from Within a Plugin
- Writing New Plugins
- A simple wrapper plugin
- A more complex wrapper plugin
- A plugin that sends mail
- GoogleSearch
- Normalizing URLs
- Building a New Frontend
- Mail::Template
- Custom Apache Handlers
- Changing the Language
- Building the Grammar
- Extending the Existing Grammar
- Replacing the Default Grammar
- Template::Simple
- The Template::Simple grammar
- 9. Accessing Databases
- Using the DBI Plugin
- Simple Database Access with the DBI Plugin
- A More Complex Example: Web Access Logs
- Using the DBI Plugin
- Using Class::DBI
- Using DBIx::Table2Hash
- Writing Your Own Database Abstraction Layer
- 10. XML
- Simple XML Processsing
- Creating XML Documents
- Modeling Data About a TV Show
- DTD for a TV Show
- XML Template
- Processing RSS Files with XML.RSS
- Processing XML Documents with XML.DOM
- Processing XML Documents with XML.XPath
- Processing XML Documents with XML.LibXML
- Using Views to Transform XML Content
- 11. Advanced Static Web Page Techniques
- Getting Started
- Directory Structure
- Web Server Configuration
- ttree Configuration
- Simple pre_process and wrapper Templates
- Creating the Build Script
- A First HTML Page
- Automating the Project Configuration Process
- Getting Started
- Library Templates
- Configuration Templates
- Layout Templates
- Page wrappers
- Layout components
- Content Templates
- HTML Pages
- CSS and Other Non-HTML Pages
- Content Components
- Debugging Pages
- Navigation Components
- Adding Site Structure
- Map nodes
- XML site map
- Selective mapmaking
- Adding Site Structure
- Walking the Structure
- Building a Nested Menu
- A Stacked Menu
- Bread-Crumb Trail
- Previous and Next Pages
- Structuring Page Content
- Defining Sections
- Section headers
- Section wrappers
- Sections and subsections
- Defining Sections
- A Table of Contents
- Anchor points
- Better page macros
- Generating the table of contents
- Reusing menu components
- Adding the table of contents automatically
- Declarative Markup Using XML
- XML page content
- XML page wrapper
- XML view templates
- Creating a New Skin
- Creating a Skin
- Custom Navigation Components
- Nested menu
- Menu elements
- Stacked menu
- Other page components
- 12. Dynamic Web Content and Web Applications
- CGI Scripts
- Simple CGI Script
- Using standard templates
- Simple CGI Script
- Using the DATA Section
- Using the CGI Module
- Setting cookies
- CGI Scripts
- CGI Script Web Application
- CGI script
- Preparation
- Application
- Presentation
- CGI script
- Template components
- Page templates
- CGI Templates
- Using the CGI Plugin
- Web Programming in Templates
- Dispatching CGI script
- Main control template
- Additional control templates
- Perl or template?
- Apache and mod_perl
- Apache::Template
- Custom Apache Handler
- A Complete Web Application
- Storage
- TTBook::H2G2::Database
- Storage
- Configuration
- Application
- Apache mod_perl Interface Module
- Apache Configuration
- A. Appendix: Configuration Options
- Template Toolkit Configuration Options
- ABSOLUTE
- ANYCASE
- AUTO_RESET
- BLOCKS
- CACHE_SIZE
- COMPILE_EXT
- COMPILE_DIR
- CONSTANTS
- CONSTANT_NAMESPACE
- NAMESPACE
- CONTEXT
- DEBUG
- DEBUG_FORMAT
- DEFAULT
- DELIMITER
- ERROR
- EVAL_PERL
- FACTORY
- FILTERS
- GRAMMAR
- INCLUDE_PATH
- INTERPOLATE
- LOAD_FILTERS
- LOAD_PERL
- LOAD_PLUGINS
- LOAD_TEMPLATES
- OUTPUT_PATH
- OUTPUT
- PARSER
- PLUGIN_BASE
- PLUGINS
- PRE_CHOMP, POST_CHOMP
- PRE_DEFINE, VARIABLES
- PRE_PROCESS, POST_PROCESS
- PROCESS
- RECURSION
- RELATIVE
- SERVICE
- STASH
- START_TAG, END_TAG
- TAG_STYLE
- TOLERANT
- TRIM
- VARIABLES, PRE_DEFINE
- V1DOLLAR
- Template Toolkit Configuration Options
- Apache::Template Configuration Options
- TT2Tags
- TT2PreChomp
- TT2PostChomp
- TT2Trim
- TT2AnyCase
- TT2Interpolate
- TT2IncludePath
- TT2Absolute
- TT2Relative
- TT2Delimiter
- TT2PreProcess
- TT2PostProcess
- TT2Process
- TT2Default
- TT2Error
- TT2EvalPerl
- TT2LoadPerl
- TT2Recursion
- TT2PluginBase
- TT2AutoReset
- TT2CacheSize
- TT2CompileExt
- TT2CompileDir
- TT2Debug
- TT2Headers
- TT2Params
- TT2ServiceModule
- Index
- About the Authors
- Colophon
- Copyright
O'Reilly Media - inne książki
-
JavaScript gives web developers great power to create rich interactive browser experiences, and much of that power is provided by the browser itself. Modern web APIs enable web-based applications to come to life like never before, supporting actions that once required browser plug-ins. Some are s...(177.65 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł(-15%) -
How will software development and operations have to change to meet the sustainability and green needs of the planet? And what does that imply for development organizations? In this eye-opening book, sustainable software advocates Anne Currie, Sarah Hsu, and Sara Bergman provide a unique overview...(160.65 zł najniższa cena z 30 dni)
177.65 zł
209.00 zł(-15%) -
OpenTelemetry is a revolution in observability data. Instead of running multiple uncoordinated pipelines, OpenTelemetry provides users with a single integrated stream of data, providing multiple sources of high-quality telemetry data: tracing, metrics, logs, RUM, eBPF, and more. This practical gu...(143.65 zł najniższa cena z 30 dni)
152.15 zł
179.00 zł(-15%) -
Interested in developing embedded systems? Since they don't tolerate inefficiency, these systems require a disciplined approach to programming. This easy-to-read guide helps you cultivate good development practices based on classic software design patterns and new patterns unique to embedded prog...(152.15 zł najniższa cena z 30 dni)
160.65 zł
189.00 zł(-15%) -
If you use Linux in your day-to-day work, then Linux Pocket Guide is the perfect on-the-job reference. This thoroughly updated 20th anniversary edition explains more than 200 Linux commands, including new commands for file handling, package management, version control, file format conversions, an...(92.65 zł najniższa cena z 30 dni)
101.15 zł
119.00 zł(-15%) -
Gain the valuable skills and techniques you need to accelerate the delivery of machine learning solutions. With this practical guide, data scientists, ML engineers, and their leaders will learn how to bridge the gap between data science and Lean product delivery in a practical and simple way. Dav...(245.65 zł najniższa cena z 30 dni)
254.15 zł
299.00 zł(-15%) -
This practical book provides a detailed explanation of the zero trust security model. Zero trust is a security paradigm shift that eliminates the concept of traditional perimeter-based security and requires you to "always assume breach" and "never trust but always verify." The updated edition off...(203.15 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%) -
Decentralized finance (DeFi) is a rapidly growing field in fintech, having grown from $700 million to $100 billion over the past three years alone. But the lack of reliable information makes this area both risky and murky. In this practical book, experienced securities attorney Alexandra Damsker ...(203.15 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%) -
Whether you're a startup founder trying to disrupt an industry or an entrepreneur trying to provoke change from within, your biggest challenge is creating a product people actually want. Lean Analytics steers you in the right direction.This book shows you how to validate your initial idea, find t...(126.65 zł najniższa cena z 30 dni)
126.65 zł
149.00 zł(-15%) -
When it comes to building user interfaces on the web, React enables web developers to unlock a new world of possibilities. This practical book helps you take a deep dive into fundamental concepts of this JavaScript library, including JSX syntax and advanced patterns, the virtual DOM, React reconc...(194.65 zł najniższa cena z 30 dni)
211.65 zł
249.00 zł(-15%)
Dzieki opcji "Druk na żądanie" do sprzedaży wracają tytuły Grupy Helion, które cieszyły sie dużym zainteresowaniem, a których nakład został wyprzedany.
Dla naszych Czytelników wydrukowaliśmy dodatkową pulę egzemplarzy w technice druku cyfrowego.
Co powinieneś wiedzieć o usłudze "Druk na żądanie":
- usługa obejmuje tylko widoczną poniżej listę tytułów, którą na bieżąco aktualizujemy;
- cena książki może być wyższa od początkowej ceny detalicznej, co jest spowodowane kosztami druku cyfrowego (wyższymi niż koszty tradycyjnego druku offsetowego). Obowiązująca cena jest zawsze podawana na stronie WWW książki;
- zawartość książki wraz z dodatkami (płyta CD, DVD) odpowiada jej pierwotnemu wydaniu i jest w pełni komplementarna;
- usługa nie obejmuje książek w kolorze.
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka, którą chcesz zamówić pochodzi z końcówki nakładu. Oznacza to, że mogą się pojawić drobne defekty (otarcia, rysy, zagięcia).
Co powinieneś wiedzieć o usłudze "Końcówka nakładu":
- usługa obejmuje tylko książki oznaczone tagiem "Końcówka nakładu";
- wady o których mowa powyżej nie podlegają reklamacji;
Masz pytanie o konkretny tytuł? Napisz do nas: sklep[at]helion.pl.
Książka drukowana
Oceny i opinie klientów: Perl Template Toolkit. Scalable Templating for the Web Darren Chamberlain, Dave Cross, Andy Wardley (0) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.