Giter Club home page Giter Club logo

modern_perl_book's Introduction

What is Modern Perl?
--------------------

Perl is a popular, powerful, and widely used programming language.  Over its
twenty year lifespan, it's powered millions of systems worldwide, moving
trillions of dollars.  More importantly, it's helped countless people get their
work done effectively.

The Perl community has a reputation for clever solutions -- and a reputation
for institutional knowledge that isn't always clear to novices and neophytes.
Modern Perl, written with this knowledge, can be very clean, very maintainable,
and very effective.

That knowledge should be available to everyone.  This book will teach you how
to program Perl well by teaching you how to understand Perl's design, its
syntax, and its semantics.

http://www.modernperlbooks.com/mt/2009/01/why-modern-perl.html


Intended Audience
-----------------

I assume readers have some familiarity with Perl.  They should have it
installed and should know how to write, edit, save, and run Perl programs.
They don't necessarily have to have finished reading a tutorial such as
Learning Perl or Beginning Perl, but they should be sufficiently familiar with
programming to be able to follow along with examples.

I try not to assume complete knowledge of even basic constructs; I try to
explain them in detail, as understanding subtleties of design and
implementation are important to mastering the subject of Perl.


Reviewer Guidelines
-------------------

I appreciate all suggestions and critiques, especially:

 * is the work accurate?
 * is the work complete?
 * is the work coherent?
 * are there missing sections and subjects?
 * are the examples effective?
 * is the flow of information appropriate?


Building this Book
------------------

You need a modern version of Perl installed.  I recommend Perl 5.10.1, but
anything newer than 5.8.6 should work.

You should also have Pod::PseudoPod 0.16 or newer installed with its
dependencies.

From the top level directory of a checkout, build the individual chapters with:

    $ perl build/tools/build_chapters.pl

The chapter sources are in the sections/ directory.  Each chapter has a
corresponding chapter_nn.pod file.  Each file contains multiple POD links which
refer to other files in the sections/ directory.  Each of those files contains
a PseudoPOD Z<> anchor.

The build_chapters.pl program weaves these sections into chapters and writes
them to POD files in build/chapters.

(This process makes it easy to rearrange sections within and between chapters
without generating huge diffs.)

To build HTML from these woven chapters:

    $ perl build/tools/build_html.pl

This will produce nicely-formatted HTML in the build/html/ directory.  If
anything looks wrong, it's a mistake on my part (or a CSS problem) and patches
are very welcome.

To build an ePub eBook from the woven chapters:

    $ perl build/tools/build_epub.pl

This will produce an ePub eBook in the build/epub/ directory.

To build PDFs from the chapters:

    $ perl build/tools/build_pdf.pl

This will build PDFs in the build/pdf directory.  You must have App::pod2pdf
installed from the CPAN.


Contributing to Modern Perl
---------------------------

For now, this draft work is licensed under a Creative Commons
Attribution-Noncommercial-No Derivative Works 3.0 United States License.  For
more details, see:

    http://creativecommons.org/licenses/by-nc-nd/3.0/us/

Please feel free to point people to this repository.  Suggestions and
contributions are welcome.  Please do not redistribute with modifications
(forking with Git is fine, but I request that you send me patches or pull
requests).

This book will be available under a less restrictive license when it comes out
in print from Onyx Neon Press:

    http://www.onyxneon.com/

modern_perl_book's People

Contributors

chromatic avatar deeelwy avatar sartak avatar oylenshpeegul avatar jmazon avatar jlavallee avatar alexm avatar genehack avatar shlomif avatar harleypig avatar samv avatar util avatar dbs avatar jeremiah avatar jmcnamara avatar mzagozen avatar csjewell avatar leedo avatar sunnavy avatar amiri avatar spazm avatar garu avatar bryansum avatar autarch avatar dchest avatar jjuran avatar xsawyerx avatar nothingmuch avatar castaway avatar horus avatar

Watchers

Chuck Yang avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.