This document provides an introduction and overview of Moose, a modern object framework for Perl 5. It begins with background on the author and a brief history of object oriented programming in Perl 5. It then explains what Moose is, including that it handles object overhead, allows for introspection, and is used in production software. Examples are provided of basic class creation and usage with Moose as well as more advanced features like attributes, types, subclassing, roles, method modifiers, and introspection. The benefits of Moose are summarized as writing less code and avoiding implementation details to have a better object model.
Moose is an object framework for Perl that provides:
1) Full-featured object-oriented programming with attributes, inheritance, roles, and hooks
2) Powerful attribute features like types, defaults, builders, and more
3) A clean and stable API for defining and working with objects
Simple Photo Processing and Web Display with PerlKent Cowgill
I have a small photo gallery on my website and in this presentation, I share
some steps I used in creating a nearly automatic workflow of getting
pictures from my camera to his gallery using Perl.
Another Way to Attack the BLOB: Server-side Access via PL/SQL and PerlRoy Zimmer
The document discusses accessing and retrieving data from MARC records stored in a database using PL/SQL and Perl. It provides an overview of the MARC record format and how the data is stored in database tables with BLOB fields. It also outlines the process for retrieving MARC record data from the database tables and reassembling multi-row records into a single MARC record.
This document provides an introduction and overview of Moose, a modern object framework for Perl 5. It begins with background on the author and a brief history of object oriented programming in Perl 5. It then explains what Moose is, including that it handles object overhead, allows for introspection, and is used in production software. Examples are provided of basic class creation and usage with Moose as well as more advanced features like attributes, types, subclassing, roles, method modifiers, and introspection. The benefits of Moose are summarized as writing less code and avoiding implementation details to have a better object model.
Moose is an object framework for Perl that provides:
1) Full-featured object-oriented programming with attributes, inheritance, roles, and hooks
2) Powerful attribute features like types, defaults, builders, and more
3) A clean and stable API for defining and working with objects
Simple Photo Processing and Web Display with PerlKent Cowgill
I have a small photo gallery on my website and in this presentation, I share
some steps I used in creating a nearly automatic workflow of getting
pictures from my camera to his gallery using Perl.
Another Way to Attack the BLOB: Server-side Access via PL/SQL and PerlRoy Zimmer
The document discusses accessing and retrieving data from MARC records stored in a database using PL/SQL and Perl. It provides an overview of the MARC record format and how the data is stored in database tables with BLOB fields. It also outlines the process for retrieving MARC record data from the database tables and reassembling multi-row records into a single MARC record.
The document discusses Perl and its suitability for enterprise computing. It covers why Perl is good for enterprises, including its high-level and dynamic nature, extensive module library, and support for multiple programming paradigms. It also addresses criticisms of Perl for enterprises and discusses the Perl Foundation and upcoming Perl 6, which will include many new features and be implemented on the Parrot virtual machine.
The document discusses perceptions of the Perl programming language and ways to promote it in a more positive light. It notes that the Perl community tends to communicate only within itself and needs to break out of this "echo chamber" by telling others about Perl's strengths. Some suggestions are promoting Perl's large CPAN module library, helpful community resources like Perl Monks, and by attending non-Perl conferences and meetings to spread awareness of the language. The overall message is that Perl is alive and capable, and its advocates should feel proud to use it and share this pride with the wider technical community.
Building Scalable, Distributed Job Queues with Redis and Redis::ClientMike Friedman
This document discusses using Redis and the Redis::Client Perl module to build scalable distributed job queues. It provides an overview of Redis, describing it as a key-value store that is simple, fast, and open-source. It then covers the various Redis data types like strings, lists, hashes, sets and sorted sets. Examples are given of how to work with these types using Redis::Client. The document discusses using Redis lists to implement job queues, with jobs added via RPUSH and popped via BLPOP. Benchmark results show the Redis-based job queue approach significantly outperforms using a MySQL jobs table with polling. Some caveats are provided about the benchmarks.
A rather old talk that I gave to the London Perl Mongers back in the days when I was really concerned about the number of people learning Perl from bad CGI programs.
This document provides an overview of building an app using Perl and MongoDB. It discusses what MongoDB is and its key features. It describes the modules needed from CPAN to interface with MongoDB from Perl. It outlines the structure of a sample "Library" app to demonstrate CRUD operations on books, authors, and other entities. The document walks through building this app and interacting with MongoDB documents and collections. It provides resources to learn more about MongoDB and the MongoDB Perl API.
Perl University: Getting Started with Perlbrian d foy
This document provides an overview and introduction to the Perl programming language. It discusses what Perl is, its history and origins, why it is useful, how to get and install Perl, where to find Perl documentation and information, the basics of Perl scripts and programs, Perl data types including scalars, numbers, strings, lists and arrays, variables, and control structures. The document is intended to give attendees of a two-day Perl University course a brief tour and foundation in the Perl language to build upon.
Linked lists can be useful in Perl for memory management , walking multiple lists, managing memory in long-lived tasks, or in threaded applications. This talk describes the basics of singly-linked lists, the basics of code that make up LinkedList::Single, and shows some applications of the lists.
"Сравнение" инструментов анализа памяти в perl.
Текста мало, но я надеюсь целевая аудитория поймёт:)
Примеры кода использованные в презентации тут: https://github.com/kadavr/yapc-russia-2016
The document discusses RPM packaging and distributing Perl modules from CPAN. It describes what RPM is and how it handles dependencies. It recommends using yum instead of rpm for installation. Building RPMs from CPAN modules is described as easier than expected using tools like cpanspec and rpmbuild. Issues like siteperl/vendorperl incompatibility are covered. The document encourages sharing and improving RPM availability of CPAN modules.
The document provides an introduction to the Perl programming language. It discusses what Perl is, how to install it, basic syntax including comments, printing, statement terminators, and delimiters. It also covers the structure of a Perl program, including the #! line and .pl extension. A customary "Hello World" program is presented as an example. Finally, it introduces variables in Perl, noting that they are typeless and do not need declaration.
Data structures in perl discusses references, arrays, hashes, and arrays of arrays/hashes in Perl. References store the memory addresses of variables and values. Arrays and hashes can be created anonymously and stored in scalar references. Arrays of arrays/hashes allow storing related data in a 2D structure, where each inner array/hash represents a record. Circular references between objects must be avoided to prevent memory leaks.
Perl is a sophisticated, general purpose programming language with a rich software development environment. It is platform independent, high level and easy to use, designed to make the difficult jobs easy. It is a portable and scalable language that provides better structure for large programs than any other computer language. It's simple structure, a clearly defined syntax and relatively few keywords that allows the student to pick up the language in a relatively short period of time.and Debug it easily with its built-in debugger. Perl is one of the three P’s in the LAMP stack. According to eweek.com ‘Perl is used in virtually 100 percent of the Fortune 500, in a wide range of mission-critical systems’. According to Active Perl, there are 200 Thousand ActivePerl downloads each month.
Moose is an object framework for Perl 5 that simplifies object-oriented programming. It allows classes to be defined declaratively using attributes like 'has' and inheritance is implemented with 'extends'. Attributes can have types, defaults, and delegated accessors. Roles provide reusable traits and are composed into classes using 'with'. Moose supports features like multiple inheritance, method overriding, and required interface methods.
The document discusses Perl and its suitability for enterprise computing. It covers why Perl is good for enterprises, including its high-level and dynamic nature, extensive module library, and support for multiple programming paradigms. It also addresses criticisms of Perl for enterprises and discusses the Perl Foundation and upcoming Perl 6, which will include many new features and be implemented on the Parrot virtual machine.
The document discusses perceptions of the Perl programming language and ways to promote it in a more positive light. It notes that the Perl community tends to communicate only within itself and needs to break out of this "echo chamber" by telling others about Perl's strengths. Some suggestions are promoting Perl's large CPAN module library, helpful community resources like Perl Monks, and by attending non-Perl conferences and meetings to spread awareness of the language. The overall message is that Perl is alive and capable, and its advocates should feel proud to use it and share this pride with the wider technical community.
Building Scalable, Distributed Job Queues with Redis and Redis::ClientMike Friedman
This document discusses using Redis and the Redis::Client Perl module to build scalable distributed job queues. It provides an overview of Redis, describing it as a key-value store that is simple, fast, and open-source. It then covers the various Redis data types like strings, lists, hashes, sets and sorted sets. Examples are given of how to work with these types using Redis::Client. The document discusses using Redis lists to implement job queues, with jobs added via RPUSH and popped via BLPOP. Benchmark results show the Redis-based job queue approach significantly outperforms using a MySQL jobs table with polling. Some caveats are provided about the benchmarks.
A rather old talk that I gave to the London Perl Mongers back in the days when I was really concerned about the number of people learning Perl from bad CGI programs.
This document provides an overview of building an app using Perl and MongoDB. It discusses what MongoDB is and its key features. It describes the modules needed from CPAN to interface with MongoDB from Perl. It outlines the structure of a sample "Library" app to demonstrate CRUD operations on books, authors, and other entities. The document walks through building this app and interacting with MongoDB documents and collections. It provides resources to learn more about MongoDB and the MongoDB Perl API.
Perl University: Getting Started with Perlbrian d foy
This document provides an overview and introduction to the Perl programming language. It discusses what Perl is, its history and origins, why it is useful, how to get and install Perl, where to find Perl documentation and information, the basics of Perl scripts and programs, Perl data types including scalars, numbers, strings, lists and arrays, variables, and control structures. The document is intended to give attendees of a two-day Perl University course a brief tour and foundation in the Perl language to build upon.
Linked lists can be useful in Perl for memory management , walking multiple lists, managing memory in long-lived tasks, or in threaded applications. This talk describes the basics of singly-linked lists, the basics of code that make up LinkedList::Single, and shows some applications of the lists.
"Сравнение" инструментов анализа памяти в perl.
Текста мало, но я надеюсь целевая аудитория поймёт:)
Примеры кода использованные в презентации тут: https://github.com/kadavr/yapc-russia-2016
The document discusses RPM packaging and distributing Perl modules from CPAN. It describes what RPM is and how it handles dependencies. It recommends using yum instead of rpm for installation. Building RPMs from CPAN modules is described as easier than expected using tools like cpanspec and rpmbuild. Issues like siteperl/vendorperl incompatibility are covered. The document encourages sharing and improving RPM availability of CPAN modules.
The document provides an introduction to the Perl programming language. It discusses what Perl is, how to install it, basic syntax including comments, printing, statement terminators, and delimiters. It also covers the structure of a Perl program, including the #! line and .pl extension. A customary "Hello World" program is presented as an example. Finally, it introduces variables in Perl, noting that they are typeless and do not need declaration.
Data structures in perl discusses references, arrays, hashes, and arrays of arrays/hashes in Perl. References store the memory addresses of variables and values. Arrays and hashes can be created anonymously and stored in scalar references. Arrays of arrays/hashes allow storing related data in a 2D structure, where each inner array/hash represents a record. Circular references between objects must be avoided to prevent memory leaks.
Perl is a sophisticated, general purpose programming language with a rich software development environment. It is platform independent, high level and easy to use, designed to make the difficult jobs easy. It is a portable and scalable language that provides better structure for large programs than any other computer language. It's simple structure, a clearly defined syntax and relatively few keywords that allows the student to pick up the language in a relatively short period of time.and Debug it easily with its built-in debugger. Perl is one of the three P’s in the LAMP stack. According to eweek.com ‘Perl is used in virtually 100 percent of the Fortune 500, in a wide range of mission-critical systems’. According to Active Perl, there are 200 Thousand ActivePerl downloads each month.
Moose is an object framework for Perl 5 that simplifies object-oriented programming. It allows classes to be defined declaratively using attributes like 'has' and inheritance is implemented with 'extends'. Attributes can have types, defaults, and delegated accessors. Roles provide reusable traits and are composed into classes using 'with'. Moose supports features like multiple inheritance, method overriding, and required interface methods.
The document discusses hacking and Perl programming. It begins with an introduction by Ilya Zelenchuk from PerlClub Ural State University. It then covers various hacking games, tools for hacking with Perl like simple network programming, packet crafting with raw sockets, and creating non-blocking sockets on Windows. The document concludes by thanking the audience.
Ведение документации в perl6: POD, да не тот !mayperl
The document discusses the documentation (POD) format used in Perl 5 and the proposed changes and new features of the POD format for Perl 6. Some key points include:
- POD (Plain Old Documentation) was introduced in Perl 5 and supported by the perldoc tool for documenting Perl code and modules.
- The POD format for Perl 6 proposes three main types of blocks - delimited blocks, paragraph blocks, and abbreviated blocks. Delimited blocks are bounded by begin/end tags with an identifier.
- Perl 6 POD blocks can include configuration parameters for things like specifying data types, widths, or optional/required fields.
- The Perl 6 POD format aims to address some limitations of the Perl 5
The document discusses making your own local CPAN mirror using CPAN::Mini and CPAN::Mini::Inject to download and store modules from CPAN. It describes using the dpan script which utilizes MyCPAN::App::DPAN to index downloaded modules and store metadata in YAML files for later searching and installation from the local mirror without an internet connection. The local CPAN mirror can be used as an alternative to CPAN or CPANPLUS for faster offline module installation.
Упаковка и развертывание программ на perl под debianmayperl
The document discusses packaging and distributing Perl programs under Debian. It provides statistics on Debian packages and Perl code. It covers useful Debian tools for Perl packaging like dh_make, dh_make-perl, debhelper, and CDBS. It also discusses generating dependencies and versions with dh_perldeps and dh_versions. Testing configuration files and modules is also mentioned.
The document discusses the Groovy programming language and compares it to Perl. It notes that Groovy was initially inspired by Perl but has since evolved significantly. Groovy code can easily integrate with Java code and libraries. The document outlines several ways to execute Groovy scripts, including directly from the command line, within the Groovy shell, and by compiling to Java bytecode. It also discusses how Groovy enables inline scripting similar to Perl.