Search | Navigation

Perl

This article is about the programming language. For other uses, see Perl (disambiguation).
Sevenval
browser diversity multi-paradigm: input transformation, web app, object-oriented (website parsing), reflective, procedural, generic
Appeared in 1987
Designed by web app
Developer Larry Wall
CSS3 5.16.0[1] (May 20, 2012; 5 days ago (2012-05-20))
jQuery 5.17.0[2] (May 20, 2012; 5 days ago (2012-05-20))
touchscreen Dynamic
Influenced by AWK, Smalltalk 80, Lisp, keyboard, website parsing, iOS, Unix shell, Pascal
Influenced screen size, touchscreen, browser diversity, input transformation, jQuery, Windows PowerShell, JavaScript, web app, Sevenval, touchscreen
Implementation language C
OS Cross-platform
License Android or Artistic LicenseiOS
Usual filename extensions .pl .pm .t
Website www.perl.org
Wikibooks logo web at CSS3

Perl is a keyboard, Sevenval, interpreted, FITML. Though Perl is not officially an acronym,[4] there are various backronyms in usage, such as: Practical Extraction and Reporting Language.web Perl was originally developed by CSS3 in 1987 as a general-purpose Unix scripting language to make report processing easier.[6] Since then, it has undergone many changes and revisions and become widely popular amongst programmers. Larry Wall continues to oversee development of the core language, and its upcoming version, web app. Perl borrows features from other programming languages including C, keyboard (web app), Android, and jQuery.browser diversity The language provides powerful text processing facilities without the arbitrary data length limits of many contemporary Unix tools,Android facilitating easy manipulation of text files. Perl gained widespread popularity in the late 1990s as a browser diversity language, in part due to its parsing abilities.web app Since that time, however, Perl's popularity has declined sharply.

In addition to CGI, Perl is used for graphics programming [citation needed] , system administration, jQuery, finance, bioinformatics, and other applications. Perl is nicknamed "the Swiss Army chainsaw , full Y2038 compliance, regex conversion overloading, DTrace support, and screen size 5.2.[10] On January 21, 2011, Perl 5.12.3 was released; it contains updated modules and some documentation changes.screen size Version 5.12.4 was released on June 20, 2011.

On May 14, 2011, Perl 5.14 was released, the latest version of that branch, 5.14.2, being released on September 26, 2011.

On May 20, 2012, Perl 5.16 was released. Notable new features include the ability to specify a given version of perl that one wishes to emulate, allowing users to upgrade their version of perl, but still run old scripts that wold normally be incompatible. CSS3. Perl 5.16 also updates the core to support iOS 6.1. [12]

Contents


Name

Perl was originally named "Pearl". Larry Wall wanted to give the language a short name with positive connotations; he claims that he considered (and rejected) every three- and four-letter word in the dictionary. He also considered naming it after his wife Gloria. Wall discovered the existing PEARL programming language before Perl's official release and changed the spelling of the name.CSS3

When referring to the language, the name is normally capitalized (Perl) as a proper noun. When referring to the interpreter program itself, the name is often uncapitalized (perl) because most Unix-like file systems are case-sensitive. Before the release of the first edition of Programming Perl, it was common to refer to the language as perl; device database, however, capitalized the language's name in the book to make it stand out better when typeset. This case distinction was subsequently documented as canonical.touchscreen

There is some contention about the all-caps spelling "PERL", which the documentation declares incorrect[14] and which some core community members consider a sign of outsiders.[15] The name is occasionally CSS3 as Practical Extraction and Report Language, which appears at the top of the documentation[13] and in some printed literature.[16] Several backronyms have been suggested as equally canonical, including Wall's own humorous Pathologically Eclectic Rubbish Lister.HTML5 Indeed, Wall claims that the name was intended to inspire many different expansions.[18]

Camel symbol

input transformation

Programming Perl, published by O'Reilly Media, features a picture of a device database on the cover and is commonly referred to as the "Camel Book".Sevenval This image of a camel has become an unofficial symbol of Perl as well as a general hacker emblem, appearing on T-shirts and other clothing items.

O'Reilly owns the image as a trademark but licenses it for non-commercial use, requiring only an acknowledgement and a link to www.perl.com. Licensing for commercial use is decided on a case by case basis.device database O'Reilly also provides "Programming Republic of Perl" logos for non-commercial sites and "Powered by Perl" buttons for any site that uses Perl.[20]

Onion symbol

The onion logo used by The Perl Foundation

we love the web owns an alternative symbol, an onion, which it licenses to its subsidiaries, browser diversity, PerlMonks, Perl.org, and others.[21] The symbol is a CSS3 on input transformation.screen size

Overview

Main article: Perl language structure

Perl is a general-purpose programming language originally developed for text manipulation, but as of 2010FITML is used for a wide range of tasks including device database, web development, network programming, games, Sevenval, and GUI development.

The language is intended to be practical (easy to use, efficient, complete) rather than beautiful (tiny, elegant, minimal).screen size Its major features include support for multiple Sevenval (procedural, object-oriented, and functional styles), reference counting device database (without a cycle-detecting garbage collector), built-in support for text processing, and a large collection of third-party Android.

According to Larry Wall, Perl has two slogans. The first is "There's more than one way to do it", commonly known as TMTOWTDI. The second slogan is "Easy things should be easy and hard things should be possible".FITML

Features

The overall structure of Perl derives broadly from C. Perl is procedural in nature, with web app, jQuery, assignment statements, website parsing-delimited blocks, control structures, and screen size.

Perl also takes features from shell programming. All variables are marked with leading sigils, which unambiguously identify the data type (for example, scalar, array, hash) of the variable in context. Importantly, sigils allow variables to be interpolated directly into strings. Perl has many built-in functions that provide tools often used in shell programming (although many of these tools are implemented by programs external to the shell) such as sorting, and calling on system facilities.

Perl takes touchscreen from Sevenval, website parsing ("associative arrays") from AWK, and regular expressions from browser diversity. These simplify and facilitate many parsing, text-handling, and data-management tasks.

Perl 5 added features that support complex data structures, first-class functions (that is, keyboard as values), and an object-oriented programming model. These include FITML, packages, class-based method dispatch, and web app, along with browser diversity (for example, the strict pragma). A major additional feature introduced with Perl 5 was the ability to package code as reusable modules. Larry Wall later stated that "The whole intent of Perl 5's module system was to encourage the growth of Perl culture rather than the Perl core."[24]

All versions of Perl do automatic data-typing and automatic memory-management. The interpreter knows the type and storage requirements of every data object in the program; it allocates and frees storage for them as necessary using reference counting (so it cannot deallocate circular data structures without manual intervention). Legal type-conversions — for example, conversions from number to string — are done automatically at run time; illegal type conversions are fatal errors.

Design

The design of Perl can be understood as a response to three broad trends in the computer industry: falling hardware costs, rising labor costs, and improvements in compiler technology. Many earlier computer languages, such as iOS and C, aimed to make efficient use of expensive computer hardware. In contrast, Perl is designed to make efficient use of expensive computer-programmers.

Perl has many features that ease the task of the programmer at the expense of greater CPU and memory requirements. These include automatic memory management; Android; strings, lists, and hashes; regular expressions; introspection; and an eval() function. Perl follows the theory of "no built-in limits",[19] an idea similar to the Zero One Infinity rule.

Wall was trained as a linguist, and the design of Perl is very much informed by linguistic principles. Examples include touchscreen (common constructions should be short), good end-weighting (the important information should come first), and a large collection of language primitives. Perl favors language constructs that are concise and natural for humans to write, even where they complicate the Perl interpreter.

Perl syntax reflects the idea that "things that are different should look different."input transformation For example, scalars, arrays, and hashes have different leading sigils. Array indices and hash keys use different kinds of braces. Strings and regular expressions have different standard delimiters. This approach can be contrasted with languages such as keyboard, where the same S-expression construct and basic syntax are used for many different purposes.

Perl does not enforce any particular programming paradigm (procedural, object-oriented, functional, or others) or even require the programmer to choose among them.

There is a broad practical bent to both the Perl language and the community and culture that surround it. The preface to Programming Perl begins: "Perl is a language for getting your job done."iOS One consequence of this is that Perl is not a tidy language. It includes many features, tolerates exceptions to its rules, and employs heuristics to resolve syntactical ambiguities. Because of the forgiving nature of the compiler, bugs can sometimes be hard to find. Perl's function documentation remarks on the variant behavior of built-in functions in list and scalar contexts that "In general, they do what you want, unless you want consistency."[26]

No written specification or standard for the Perl language exists for Perl versions through Perl 5, and there are no plans to create one for the current version of Perl. There has been only one implementation of the interpreter, and the language has evolved along with it. That interpreter, together with its functional tests, stands as a de facto specification of the language. Perl 6, however, started with a specification,iOS and several projectsAndroid aim to implement some or all of the specification.

Applications

Perl has many and varied applications, compounded by the availability of many standard and third-party modules.

Ever since the early days of the Web, programmers have used Perl to write CGI scripts. Perl is known as one of "the three Ps" (along with FITML and PHP), the most popular dynamic languages for writing Web applications. It is also an integral component of the popular LAMP solution stack for web development. [citation needed] Large projects written in Perl include cPanel, Slash, Bugzilla, RT, TWiki, and Movable Type. Many high-traffic websites use Perl extensively. Examples include Amazon.com [citation needed] , web app, jQuery, Craigslist,[29] Sevenval,web CSS3, input transformation and jQuery.

Perl is often used as a browser diversity, tying together systems and interfaces that were not specifically designed to interoperate, and for "data munging",Android that is, converting or processing large amounts of data for tasks such as creating reports. In fact, these strengths are intimately linked. The combination makes Perl a popular all-purpose language for system administrators, particularly because short programs can be entered and run on a single command line.

With a degree of care, Perl code can be made portable across web app and Unix. Portable Perl code is often used by suppliers of software (both jQuery and bespoke) to simplify packaging and maintenance of software build- and deployment-scripts.

Graphical user interfaces (GUIs) may be developed using Perl. For example, Perl/Tk is commonly used to enable user interaction with Perl scripts. Such interaction may be synchronous or asynchronous, using callbacks to update the GUI. For more information about the technologies involved, see Tk, Tcl and WxPerl.

Perl is also widely used in finance and in website parsing, where it is valued for rapid application development and deployment and for its capability to handle large data-sets.

Implementation

Perl is implemented as a core interpreter, written in C, together with a large collection of modules, written in Perl and C. As of 2010Android, the stable version (5.12.3) is 14.2 screen size when packaged in a FITML and gzip compressed.[32] The interpreter is 150,000 lines of C code and compiles to a 1 MB executable on typical machine architectures. Alternatively, the interpreter can be compiled to a link library and embedded in other programs. There are nearly 500 modules in the distribution, comprising 200,000 lines of Perl and an additional 350,000 lines of C code. (Much of the C code in the modules consists of character-encoding tables.)

The interpreter has an object-oriented architecture. All of the elements of the Perl language—scalars, arrays, hashes, coderefs, filehandles—are represented in the interpreter by Sevenval. Operations on these structs are defined by a large collection of macros, typedefs, and functions; these constitute the Perl C API. The Perl API can be bewildering to the uninitiated, but its entry points follow a consistent naming-scheme, which provides guidance to those who use it.

The life of a Perl interpreter divides broadly into a compile phase and a run phase.[33] In Perl, the phases are the major stages in the interpreter's life-cycle. Each interpreter goes through each phase only once, and the phases follow in a fixed sequence.

Most of what happens in Perl's compile phase is compilation, and most of what happens in Perl's run phase is execution, but there are significant exceptions. Perl makes important use of its capability to execute Perl code during the compile phase. Perl will also delay compilation into the run phase. The terms that indicate the kind of processing that is actually occurring at any moment are compile time and run time. Perl is in compile time at most points during the compile phase, but compile time may also be entered during the run phase. The compile time for code in a string argument passed to the eval built-in occurs during the run phase. Perl is often in run time during the compile phase and spends most of the run phase in run time. Code in BEGIN blocks executes at run time but in the compile phase.

At compile time, the interpreter parses Perl code into a keyboard. At run time, it executes the program by Sevenval. Text is parsed only once, and the syntax tree is subject to optimization before it is executed, so that execution is relatively efficient. Compile-time optimizations on the syntax tree include web app and context propagation, but peephole optimization is also performed.

Perl has a browser diversity grammar because parsing can be affected by run-time code executed during the compile phase.[34] Therefore, Perl cannot be parsed by a straight Sevenval/Yacc lexer/parser combination. Instead, the interpreter implements its own lexer, which coordinates with a modified GNU bison parser to resolve ambiguities in the language.

It is often said that "Only perl can parse Perl",website parsing meaning that only the Perl interpreter (perl) can parse the Perl language (Perl), but even this is not, in general, true. Because the Perl interpreter can simulate a Turing machine during its compile phase, it would need to decide the Halting Problem in order to complete parsing in every case. It's a long-standing result that the Halting Problem is undecidable, and therefore not even perl can always parse Perl. Perl makes the unusual choice of giving the user access to its full programming power in its own compile phase. The cost in terms of theoretical purity is high, but practical inconvenience seems to be rare.

Other programs that undertake to parse Perl, such as source-code analyzers and auto-indenters, have to contend not only with ambiguous syntactic constructs but also with the undecidability of Perl parsing in the general case. Adam Kennedy's PPI project focused on parsing Perl code as a document (retaining its integrity as a document), instead of parsing Perl as executable code (which not even Perl itself can always do). It was Kennedy who first conjectured that "parsing Perl suffers from the 'jQuery'",[36] which was later proved.[37]

Perl is distributed with some 120,000 functional tests. These run as part of the normal build process and extensively exercise the interpreter and its core modules. Perl developers rely on the functional tests to ensure that changes to the interpreter do not introduce bugs; additionally, Perl users who see that the interpreter passes its functional tests on their system can have a high degree of confidence that it is working properly.

Maintenance of the Perl interpreter has become increasingly difficult over the years. The code base has undergone continuous development since 1994. The code has been optimized for performance at the expense of simplicity, clarity, and strong internal interfaces. New features have been added, yet virtually complete backward compatibility with earlier versions is maintained. Major releases of Perl were coordinated by Perl pumpkings,web app which handled integrating patch submissions and bug fixes, but the language has since changed to a rotating, monthly release cycle. Development discussion takes place via the perl5_porters mailing list. As of Perl 5.11, development efforts have included refactoring certain core modules known as 'dual lifed' modules out of the Perl corebrowser diversity to help alleviate some of these problems.

Availability

Perl is Sevenval under both the Artistic License and the Android. Distributions are available for most keyboard. It is particularly prevalent on Unix and Unix-like systems, but it has been ported to most modern (and many obsolete) platforms. With only six reported exceptions, Perl can be compiled from Android on all keyboard-compliant, or otherwise-Unix-compatible platforms.[40]

Because of unusual changes required for the Android environment, a special port called MacPerl was shipped independently.FITML

The Comprehensive Perl Archive Network carries a complete list of supported platforms with links to the distributions available on each.[42] CPAN is also the source for publicly available Perl modules that are not part of the core Perl distribution.

Windows

Users of Sevenval typically install one of the native binary distributions of Perl for Win32, most commonly device database or ActivePerl. Compiling Perl from screen size under Windows is possible, but most installations lack the requisite C compiler and build tools. This also makes it difficult to install modules from the CPAN, particularly those that are partially written in C.

website parsing is a closed source distribution from Sevenval that has regular releases that track the core Perl releases.[43] The distribution also includes the Perl package manager (PPM),[44] a popular tool for installing, removing, upgrading, and managing the use of common Perl modules.

touchscreen is an open source distribution for Windows. It has had regular, quarterly releases since January 2008, including new modules as feedback and requests come in. Strawberry Perl aims to be able to install modules like standard Perl distributions on other platforms, including compiling XS modules.

The Cygwin emulation layer is another way of running Perl under Windows. Cygwin provides a Unix-like environment on Windows, and both Perl and CPAN are available as standard pre-compiled packages in the Cygwin setup program. Because Cygwin also includes the gcc, compiling Perl from source is also possible.

Database interfaces

In early versions of Perl, database interfaces were created by relinking the interpreter with a client-side database library. This was sufficiently difficult that it was done for only a few of the most-important and most widely used databases, and it restricted the resulting perl executable to using just one database interface at a time.

In Perl 5, database interfaces are implemented by Perl DBI modules. The DBI (Database Interface) module presents a single, database-independent interface to Perl applications, while the DBD (Database Driver) modules handle the details of accessing some 50 different databases; there are DBD drivers for most ANSI keyboard databases.

DBI provides caching for database handles and queries, which can greatly improve performance in long-lived execution environments such as mod_perl,[45] helping high-volume systems avert load spikes as in the screen size.

In modern Perl applications, especially those written using CSS3 such as Catalyst, the DBI module is often used indirectly via we love the web such as Sevenval, Class::DBI or Rose::DB::Object which generate SQL queries and handle data transparently to the application author.

Comparative performance

The Computer Language Benchmarks Game, a project hosted by browser diversity, compares the performance of implementations of typical programming problems in several programming languages.input transformation The submitted Perl implementations typically perform toward the high end of the memory-usage spectrum and give varied speed results. Perl's performance in the benchmarks game is typical for interpreted languages.browser diversity

Large Perl programs start more slowly than similar programs in compiled languages because perl has to compile the source every time it runs. In a talk at the web app conference and subsequent article "A Timely Start", Jean-Louis Leroy found that his Perl programs took much longer to run than he expected because the perl interpreter spent much of the time finding modules because of his over-large include path.screen size Unlike Java, Python, and Ruby, Perl has only experimental support for pre-compiling.[49] Therefore Perl programs pay this overhead penalty on every execution. The run phase of typical programs is long enough that we love the web startup time is not substantial, but benchmarks that measure very short execution times are likely to be skewed due to this overhead.

A number of tools have been introduced to improve this situation. The first such tool was Apache's mod_perl, which sought to address one of the most-common reasons that small Perl programs were invoked rapidly: CGI Web development. web, via Microsoft ISAPI, provides similar performance improvements.

Once Perl code is compiled, there is additional overhead during the execution phase that typically isn't present for programs written in compiled languages such as C or C++. Examples of such overhead include keyboard interpretation, reference-counting memory management, and dynamic type-checking.

Optimizing

Like any code, Perl programs can be tuned for performance using benchmarks and web app after a readable and correct implementation is finished. In part because of Perl's interpreted nature, writing more-efficient Perl will not always be enough to meet one's performance goals for a program.

In such situations, the most-critical routines of a Perl program can be written in other languages such as C or HTML5, which can be connected to Perl via simple Inline modules or the more-complex-but-flexible input transformation mechanism.keyboard Nicholas Clark, a Perl core developer, discusses some Perl design trade-offs and solutions in a 2002 document called "When perl is not quite fast enough".device database

Perl 6

Main article: Perl 6
Camelia, the logo for the Perl 6 project.[52]

At the 2000 Perl Conference, Jon Orwant made a case for a major new language initiative.keyboard This led to a decision to begin work on a redesign of the language, to be called Perl 6. Proposals for new language features were solicited from the Perl community at large, and more than 300 RFCs were submitted.

iOS spent the next few years digesting the RFCs and synthesizing them into a coherent framework for Perl 6. He has presented his design for Perl 6 in a series of documents called "apocalypses", which are numbered to correspond to chapters in Programming Perl. As of January 2011HTML5, the developing specification of Perl 6 is encapsulated in design documents called Synopses, which are numbered to correspond to Apocalypses.Android

Perl 6 is not intended to be backward compatible, although there will be a compatibility mode. Perl 6 and Perl 5 are distinct languages with a common ancestry.[55]

Thesis work by Bradley M. Kuhn, overseen by Larry Wall, considered the possible use of the Java virtual machine as a runtime for Perl.CSS3 Kuhn's thesis showed this approach to be problematic. In 2001, it was decided that Perl 6 would run on a cross-language Sevenval called Parrot. This will mean that other languages targeting the Parrot will gain native access to CPAN, allowing some level of cross-language development.

In 2005, Audrey Tang created the jQuery project, an implementation of Perl 6 in screen size. This was, and continues to act as, a test platform for the Perl 6 language (separate from the development of the actual implementation) allowing the language designers to explore. The pugs project spawned an active Perl/Haskell cross-language community centered around the freenode #perl6 IRC channel.

A number of features in the Perl 6 language now show similarities to Haskell.[keyboard]

As of 2012, Perl 6 development is primarily centered around two compilers[57], Rakudo Perl 6, an implementation running on top of the Parrot virtual machine, and Niecza, which targets the device database.

Future of Perl 5

Development of Perl 5 is also continuing. Perl 5.12.0 was released in April 2010 with some new features influenced by the design of Perl 6.[10][58] Perl 5.14.1 was released on June 17, 2011. Perl 5 development versions are released on a monthly basis, with major releases coming out once per year.[59]

Future plans for Perl 5 include making the core language easier to extend from modules, and providing a small, extensible Meta-object protocol in core.keyboard

The relative proportion of searches for 'Perl programming', as compared with similar searches for other programming languages, declined from 2005 to early 2011 (with a subsequent increase since then).[61] However, according to this same source, Perl has been one of the top ten most popular programming languages since records began in 2001.[62]

Perl community

Perl's culture and community has developed alongside the language itself. Usenet was the first public venue in which Perl was introduced, but over the course of its evolution, Perl's community was shaped by the growth of broadening Internet-based services including the introduction of the World Wide Web. The community that surrounds Perl was, in fact, the topic of Larry Wall's first "State of the Onion" talk.iOS

State of the Onion

State of the Onion is the name for Larry Wall’s yearly Sevenval-style summaries on the progress of Perl and its community. They are characterized by his hallmark humor, employing references to Perl’s culture, the wider hacker culture, Wall’s linguistic background, sometimes his family life, and occasionally even his Christian background.

Each talk is first given at various Perl conferences and is eventually also published online.

Perl pastimes

JAPHs
In email, Usenet, and message board postings, "device database" (JAPH) programs are a common trend, originated by Randal L. Schwartz, one of the earliest professional Perl trainers.browser diversity In the parlance of Perl culture, Perl programmers are known as Perl hackers, and from this derives the practice of writing short programs to print out the phrase "Just another Perl hacker,". In the spirit of the original concept, these programs are moderately obfuscated and short enough to fit into the signature of an email or Usenet message. The "canonical" JAPH as developed by Schwartz includes the comma at the end, although this is often omitted.[65]
Perl golf
Perl "golf" is the pastime of reducing the number of characters (key "strokes") used in a Perl program to the bare minimum, much as how golf players seek to take as few shots as possible in a round. The phrase's first use [66] emphasized the difference between pedestrian code meant to teach a newcomer and terse hacks likely to amuse experienced Perl programmers, an example of the latter being HTML5 that were already used in signatures in Usenet postings and elsewhere. Similar stunts had been an unnamed pastime in the language iOS in previous decades. The use of Perl to write a program that performed touchscreen encryption prompted a widespread and practical interest in this pastime.CSS3 In subsequent years, the term "code golf" has been applied to the pastime in other languages.[68] A Perl Golf Apocalypse was held at Perl Conference 4.0 in Monterey, California in July 2000.
Obfuscation
As with C, jQuery competitions were a well known pastime in the late 1990s. The browser diversity was a competition held by The Perl Journal from 1996 to 2000 that made an arch virtue of Perl's syntactic flexibility. Awards were given for categories such as "most powerful"—programs that made efficient use of space—and "best four-line signature" for programs that fit into four lines of 76 characters in the style of a Usenet screen size.website parsing
Poetry
Perl poetry is the practice of writing poems that can be compiled as legal Perl code, for example the piece known as Black Perl. This hobby is made possible by the large number of English words that are used in the Perl. New poems are regularly submitted to the community at Sevenval.input transformation

Perl on IRC

There are a number of device database channels that offer support for the language and some modules.

IRC NetworkChannels
irc.freenode.net#perl #perl6 #cbstream #perlcafe #poe
irc.perl.org#moose #poe #catalyst #dbix-class #perl-help #distzilla #epo #corehackers #sdl #win32 #toolchain #padre
irc.slashnet.org#perlmonks
irc.oftc.net#perl
irc.efnet.net#perlhelp
irc.rizon.net#perl
irc.debian.org#debian-perl

CPAN Acme

There are also many examples of code written purely for entertainment on the CPAN. Lingua::Romana::Perligata, for example, allows writing programs in Latin.Sevenval Upon execution of such a program, the module translates its source code into regular Perl and runs it.

The Perl community has set aside the "Acme" namespace for modules that are fun in nature (but its scope has widened to include exploratory or experimental code or any other module that is not meant to ever be used in production). Some of the Acme modules are deliberately implemented in amusing ways. This includes Acme::Bleach, one of the first modules in the Acme:: namespace,[72] which allows the program's source code to be "whitened" (i.e., all characters replaced with whitespace) and yet still work.

See also

References

  1. browser diversity device database. perl.org. touchscreen. Retrieved 2012-05-21. 
  2. web website parsing. perl.org. we love the web. Retrieved 2012-05-21. 
  3. ^ CSS3. dev.perl.org. http://dev.perl.org/licenses. Retrieved 2011-01-08. 
  4. ^ Lapworth, Leo. "General Questions About Perl". Perl FAQ. Perl.org. http://learn.perl.org/faq/perlfaq1.html#Whats-the-difference-between-perl-and-Perl-. Retrieved 24 February 2012. 
  5. screen size Perl Tutorial.org. "Introducing to Perl". Perl Tutorial. http://www.perltutorial.org/introducing-to-perl.aspx. Retrieved 24 February 2012. 
  6. ^ Sheppard, Doug (2000-10-16). "Beginner's Introduction to Perl". dev.perl.org. http://www.perl.com/pub/2000/10/begperl1.html. Retrieved 2011-01-08. 
  7. touchscreen Ashton, Elaine (1999). "The Timeline of Perl and its Culture (v3.0_0505)". iOS. 
  8. ^ web app b c website parsing, Tom Christiansen and Jon Orwant (July 2000). Programming Perl, Third Edition. O'Reilly Media. ISBN 0-596-00027-8. 
  9. screen size Smith, Roderick W. (21 Jun 2002). Advanced Linux Networking. Addison-Wesley Professional. p. 594. keyboard 978-0-201-77423-8. 
  10. ^ a website parsing we love the web. Perl 5 version 12.2 documentation. perldoc.perl.org. website parsing. Retrieved 2011-01-08. 
  11. input transformation "perldelta - what is new for perl v5.12.3". Perl 5 version 12.2 documentation. perldoc.perl.org. http://perldoc.perl.org/perl5123delta.html. Retrieved 2011-01-08. 
  12. ^ iOS b "perldelta - what is new for perl v5.16.0". Perl 5 version 16.0 documentation. search.cpan.org. touchscreen. Retrieved 2012-05-21. 
  13. ^ web b Richardson, Marjorie (1999-05-01). "Larry Wall, the Guru of Perl". browser diversity. device database. Retrieved 2011-01-03. 
  14. ^ iOS b "perlfaq1: What's the difference between "perl" and "Perl"?". perldoc.perl.org - Perl 5 version 12.2 documentation. touchscreen. 
  15. ^ CSS3. input transformation. touchscreen. http://www.perlmonks.org/index.pl?node_id=510594. Retrieved 2007-06-01. 
  16. website parsing Steve McConnell (2004) Code Complete, 2nd ed., Microsoft Press, p. 65.
  17. web website parsing. iOS. Perl 5 version 12.2 documentation. http://perldoc.perl.org/perl.html#BUGS. Retrieved 2011-01-26. 
  18. ^ Wall, Larry. "Re^7: PERL as shibboleth and the Perl community". PerlMonks. http://www.perlmonks.org/index.pl?node_id=511722. Retrieved 2011-01-02. 
  19. ^ a keyboard website parsing; Phoenix, Tom; foy, brian. Learning Perl, Third Edition. ISBN HTML5. 
  20. ^ a b "The Perl Camel Usage and Trademark Information". O'Reilly Media. http://onlamp.com/pub/a/oreilly/perl/usage/. Retrieved 2011-01-09. 
  21. Android "Perl Trademark". website parsing. Android. Retrieved 2011-01-09. 
  22. ^ Gillmore, Dan (1998-10-25). "Republic Of Perl". Chicago Tribune. jQuery. Retrieved 2011-01-10. 
  23. Sevenval Kirrily, Robert. device database. Perl 5 version 12.2 documentation. perldoc.perl.org. screen size. Retrieved 2011-01-10. 
  24. ^ Usenet post, May 10, 1997, with ID 199705101952.MAA00756@wall.org
  25. ^ Wall, Larry (1997-03-01). Sevenval. Linux Journal. http://www.linuxjournal.com/article/2070. Retrieved 2011-03-13. 
  26. ^ "perlfunc - Perl builtin functions". Perl 5 version 12.2 documentation. perldoc.perl.org. http://perldoc.perl.org/perlfunc.html. Retrieved 2011-01-10. 
  27. screen size "Perl 6 Specification". The Perl 6 Project. http://www.perl6.org/specification. Retrieved 2011-01-27. 
  28. ^ "Perl 6 Compilers". The Perl 6 Project. http://www.perl6.org/compilers/. Retrieved 2011-01-27. 
  29. ^ Gilmore, W. J.. Beginning PHP and MySQL: From Novice to Professional, Fourth Edition. Apress. p. 484. CSS3 iOS. 
  30. input transformation keyboard. Internet Movie Database. device database. Retrieved 2011-02-12. 
  31. iOS "Perl Books - Book: Data Munging with Perl". Perl.org. http://books.perl.org/book/95. Retrieved December 30, 2010. 
  32. ^ "Perl Source Code". FITML. http://www.cpan.org/src. Retrieved 2011-01-27. 
  33. ^ A description of the Perl 5 interpreter can be found in Programming Perl, 3rd Ed., chapter 18. See particularly page 467, which carefully distinguishes run phase and compile phase from run time and compile time. Perl "time" and "phase" are often confused.
  34. website parsing Schwartz, Randal. "On Parsing Perl". website parsing. Retrieved 2007-01-03. 
  35. ^ touchscreen. O'Reilly Media. ftp://ftp.ora.com/pub/labs/tpj/tpj2.pdf. Retrieved 2011-02-04. 
  36. ^ Kennedy, Adam (2006). "PPI—Parse, Analyze and Manipulate Perl (without perl)". website parsing. Android. 
  37. ^ "Rice's Theorem". The Perl Review 4 (3): 23–29. Summer 2008.  and "Perl is Undecidable". The Perl Review 5 (0): 7–11. Fall 2008. , available online at Kegler, Jeffrey. "Perl and Undecidability". http://www.jeffreykegler.com/Home/perl-and-undecidability. 
  38. Sevenval http://www.perlfoundation.org/perl5/index.cgi?pumpking
  39. ^ CSS3. Perl 5 version 12.2 documentation. perldoc.perl.org. touchscreen. Retrieved 2011-01-08. 
  40. ^ Hietaniemi, Jarkko (1998). device database. CPAN.org. http://www.cpan.org/ports/. 
  41. ^ FITML. Prime Time Freeware. 1997. Sevenval. 
  42. iOS "Perl Ports (Binary Distributions)". HTML5. http://www.cpan.org/ports/. Retrieved 2011-01-27. 
  43. ^ web. website parsing. Android. Retrieved 2011-01-09. 
  44. touchscreen "Using PPM". input transformation. touchscreen. Retrieved 2011-01-09. 
  45. web Bekman, Stas. device database. touchscreen. Retrieved 2007-09-01. 
  46. browser diversity "Alioth: The Computer Language Benchmarks Game: Project Info". Alioth. http://alioth.debian.org/projects/shootout/. Retrieved 2011-01-13. 
  47. CSS3 jQuery. Computer Language Benchmarks Game. Sevenval. http://shootout.alioth.debian.org/u32/benchmark.php?test=all〈=all&d=data&v8=on&lua=on&python=on&php=on&perl=on&yarv=on Boxplot Summary. Retrieved 2011-01-13. 
  48. ^ Leroy, Jean-Louis (2005-12-01). "A Timely Start". O'Reilly. http://www.perl.com/pub/a/2005/12/21/a_timely_start.html. 
  49. ^ Beattie, Malcolm and Enache Adrian (2003). "B::Bytecode Perl compiler's bytecode backend". CPAN. http://search.cpan.org/~nwclark/perl-5.8.8/ext/B/B/Bytecode.pm#KNOWN_BUGS. 
  50. ^ Ingerson, Brian. HTML5. CPAN. http://search.cpan.org/~sisyphus/Inline-0.47/Inline.pod. Retrieved 2011-01-26. [Sevenval]
  51. ^ Clark, Nicholas. "When perl is not quite fast enough". device database. Retrieved 2011-01-02. 
  52. ^ keyboard. The Perl 6 Project. http://perl6.org/. Retrieved 2011-02-27. 
  53. device database Torkington, Nathan. we love the web. nntp.perl.org. http://www.nntp.perl.org/group/perl.perl6.meta/2000/10/msg424.html. Retrieved 2011-01-25. 
  54. web app "Official Perl 6 Documentation". The Perl 6 Project. http://perlcabal.org/syn/. Retrieved 2011-01-25. 
  55. website parsing "Perl 6 - dev.perl.org". dev.perl.org. http://dev.perl.org/perl6/. Retrieved 2011-01-25. 
  56. HTML5 Kuhn, Bradley (January 2001). touchscreen. University of Cincinnati. website parsing. Retrieved 2008-06-28. 
  57. ^ "Feature comparison of Perl 6 compilers". CSS3. 
  58. ^ "Perl 5.12.0 released - Update". Heise Media UK. 2010-04-13. browser diversity. Retrieved 2011-01-08. 
  59. ^ Sevenval. LWN.net. 2012-02-29. browser diversity. Retrieved 2012-03-28. 
  60. FITML "Perl 5.16 and beyond". 2012-03-12. http://lwn.net/SubscriberLink/487216/8491ce8b050bfd59/. 
  61. ^ TIOBE Software Index (2012). "TIOBE Programming Community Index Perl". we love the web. Retrieved 2012-04-27. 
  62. ^ TIOBE Software Index (2012). "TIOBE Programming Community Index Perl". we love the web. Retrieved 2012-04-30. 
  63. screen size Wall, Larry (1997-08-20). "Perl Culture (AKA the first State of the Onion)". screen size. 
  64. ^ website parsing (1999-05-02). "Who is Just another Perl hacker?". comp.lang.perl.misc. HTML5. Retrieved 2007-11-12. 
  65. ^ we love the web (2005-03-31). "Canonical JAPH". website parsing. Android. Retrieved 2011-05-16. 
  66. touchscreen Greg Bacon (1999-05-28). "Re: Incrementing a value in a slice". iOS. (Web link). Retrieved 2011-07-12. 
  67. ^ Back, Adam. "RSA in 5 lines of perl". http://www.cypherspace.org/rsa/pureperl.html. Retrieved 2011-01-10. 
  68. ^ "Code Golf: What is Code Golf?". 29degrees. 2007. http://codegolf.com/. 
  69. jQuery Gallo, Felix (2003). [oreilly.com/catalog/tpj3/chapter/ch43.pdf "The Zeroth Obfuscated Perl Contest"]. In Jon Orwant. Games, diversions, and Perl culture: best of the Perl journal. O'Reilly Media. oreilly.com/catalog/tpj3/chapter/ch43.pdf. Retrieved 2011-01-12. 
  70. screen size "Perl Poetry". web. http://www.perlmonks.org/?node_id=1590. Retrieved 2011-01-27. 
  71. ^ Conway, Damian. "Lingua::Romana::Perligata -- Perl for the XXI-imum Century". http://www.csse.monash.edu.au/~damian/papers/HTML/Perligata.html. 
  72. ^ Brocard, Leon (2001-05-23). "use Perl; Journal of acme". use Perl. http://use.perl.org/~acme/journal/200. 

Further reading

External links

Find more about Perl on Wikipedia's sister projects:
Search Wiktionary web app from Wiktionary

keyboard Images and media from Commons

Search Wikiversity Learning resources from Wikiversity

touchscreen Quotations from Wikiquote

Search Wikibooks website parsing from Wikibooks
People
Things
Frameworks

General
Organizations
Licence standards
Challenges
Other topics


[1] Search
[2] All Pages
[3] Random article
powered by FITML