Email the Author
You can use this page to email Mohammad Sajid Anwar about Design Patterns in Modern Perl.
About the Book
Design Patterns in Modern Perl brings the classic “Gang of Four” patterns into today’s Perl.
Rather than treating patterns as abstract theory, this book shows you how to implement all 23 GoF design patterns in real, runnable Perl code. Each pattern is presented in multiple object systems – traditional bless (using Class::Mite), Moo, and modern class/Object::Pad – so you can see how the same design idea translates across the styles you actually use in production.
Every chapter follows a consistent, practical structure: clear intent, motivation, and applicability; a worked example domain; complete implementations in the three OO flavours; and accompanying unit tests and benchmarks driven by the dp-runner command-line tool. You’re encouraged to run the code, explore variations, and compare approaches on your own machine.
You’ll learn how to:
- Recognise the problems each pattern is designed to solve
- Choose a suitable pattern for the design pressure you’re facing
- Decide when to use
bless, Moo, or modern classes for a given pattern - Integrate patterns into existing, often messy, legacy Perl codebases
- Write test-driven, benchmarked implementations you can trust
This book is aimed at Perl developers who already write scripts or small applications and want to think more deliberately about design; maintainers of large or long-lived Perl systems; and developers coming from other languages who know design patterns but want to apply them idiomatically in Perl.
Whether you dip into individual patterns as needed, or read cover-to-cover, Design Patterns in Modern Perl gives you a shared vocabulary and a set of tested, modern examples you can adapt directly to your own projects.
About the Author
Mohammad Sajid Anwar is an India-born software developer now based in the United Kingdom. His career in technology began in Jamshedpur and later took him to Mumbai before he settled in London in 2000, building his expertise through the dot-com boom and its aftermath. With a background in mathematics, he has focused much of his technical work on elegant, reliable solutions in Perl.
Sajid is a prolific CPAN author (PAUSE id MANWAR), known especially for the Map::Tube ecosystem for modelling urban transport networks, extensive calendrical libraries, and tools for the Dancer2 web framework. In 2023 he received the "White Camel Award" for outstanding service to the Perl community. He founded and runs The Weekly Challenge and has served as a co-editor of the Perl Weekly newsletter for more than six years.
Website: manwar.org