Objetivo:
Que el estudiante entienda y aplique de manera efectiva las técnicas avanzadas
de desarrollo de sistemas en Perl: programación segura, depuración, estadísticas,
desempeño, configuración, manejo de errores, persistencia de datos y
documentación
Temas:
- Advanced Regular Expressions
- References to Regular Expressions
- Noncapturing Grouping, (?:PATTERN)
- Readable Regexes, /x and (?#...)
- Global Matching
- Lookarounds
- Deciphering Regular Expressions
- Secure Programming Techniques
- Bad Data Can Ruin Your Day
- Taint Checking
- Untainting Data
- List Forms of system and exec
- Debugging Perl
- Before You Waste Too Much Time
- The Best Debugger in the World
- perl5db.pl
- Alternative Debuggers
- Other Debuggers
- Profiling Perl
- Finding the Culprit
- The General Approach
- Profiling DBI
- Devel::DProf
- Writing My Own Profiler
- Profiling Test Suites
- Benchmarking Perl
- Benchmarking Theory
- Benchmarking Time
- Comparing Code
- Don't Turn Off Your Thinking Cap
- Memory Use
- The perlbench Tool
- Cleaning Up Perl
- Good Style
- perltidy
- DeObfuscation
- Perl::Critic
- Symbol Tables and Typeglobs
- Package and Lexical Variables
- The Symbol Table
- Dynamic Subroutines
- Subroutines As Data
- Creating and Replacing Named Subroutines
- Symbolic References
- Iterating Through Subroutine Lists
- Processing Pipelines
- Method Lists
- Subroutines As Arguments
- Autoloaded Methods
- Hashes As Objects
- AutoSplit
- Modifying and JuryRigging Modules
- Choosing the Right Solution
- Replacing Module Parts
- Subclassing
- Wrapping Subroutines
- Configuring Perl Programs
- Things Not to Do
- Better Ways
- CommandLine Switches
- Configuration Files
- Scripts with a Different Name
- Interactive and Noninteractive Programs
- perl's Config
- Detecting and Reporting Errors
- Perl Error Basics
- Reporting Module Errors
- Exceptions
- Loggin
- Recording Errors and Other Information
- Log4perl
- Data Persistence
- Flat Files
- Storable
- DBM Files
- Working with Pod
- The Pod Format
- Translating Pod
- Testing Pod
- The Magic of Tied Variables
- They Look Like Normal Variables
- At the User Level
- Behind the Curtain
- Scalars
- Arrays
- Hashes
- Filehandles
- Modules As Programs
- The main Thing
- Backing Up
- Who's Calling?
- Testing the Program
- Distributing the Programs