100% found this document useful (3 votes)
4K views

Perl 6 Fundamentals: A Primer with Examples, Projects, and Case Studies Moritz Lenz 2024 scribd download

Case

Uploaded by

sayawuqezu
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
100% found this document useful (3 votes)
4K views

Perl 6 Fundamentals: A Primer with Examples, Projects, and Case Studies Moritz Lenz 2024 scribd download

Case

Uploaded by

sayawuqezu
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 52

Download the full version of the textbook now at textbookfull.

com

Perl 6 Fundamentals: A Primer with Examples,


Projects, and Case Studies Moritz Lenz

https://textbookfull.com/product/perl-6-
fundamentals-a-primer-with-examples-projects-and-
case-studies-moritz-lenz/

Explore and download more textbook at https://textbookfull.com


Recommended digital products (PDF, EPUB, MOBI) that
you can download immediately if you are interested.

Parsing with Perl 6 Regexes and Grammars: A Recursive


Descent into Parsing Moritz Lenz

https://textbookfull.com/product/parsing-with-perl-6-regexes-and-
grammars-a-recursive-descent-into-parsing-moritz-lenz/

textbookfull.com

Biota Grow 2C gather 2C cook Loucas

https://textbookfull.com/product/biota-grow-2c-gather-2c-cook-loucas/

textbookfull.com

Python Continuous Integration and Delivery: A Concise


Guide with Examples Lenz

https://textbookfull.com/product/python-continuous-integration-and-
delivery-a-concise-guide-with-examples-lenz/

textbookfull.com

Globalization, Productivity and Production Networks in


ASEAN: Enhancing Regional Trade and Investment Fithra
Faisal Hastiadi
https://textbookfull.com/product/globalization-productivity-and-
production-networks-in-asean-enhancing-regional-trade-and-investment-
fithra-faisal-hastiadi/
textbookfull.com
Cultural Foundations and Interventions in Latino a Mental
Health History Theory and within Group Differences Hector
Y. Adames
https://textbookfull.com/product/cultural-foundations-and-
interventions-in-latino-a-mental-health-history-theory-and-within-
group-differences-hector-y-adames/
textbookfull.com

HCI International 2015 Posters Extended Abstracts


International Conference HCI International 2015 Los
Angeles CA USA August 2 7 2015 Proceedings Part I 1st
Edition Constantine Stephanidis (Eds.)
https://textbookfull.com/product/hci-international-2015-posters-
extended-abstracts-international-conference-hci-
international-2015-los-angeles-ca-usa-august-2-7-2015-proceedings-
part-i-1st-edition-constantine-stephanidis-eds/
textbookfull.com

Racial Disproportionality and Disparities in the Child


Welfare System Alan J. Dettlaff

https://textbookfull.com/product/racial-disproportionality-and-
disparities-in-the-child-welfare-system-alan-j-dettlaff/

textbookfull.com

Criminal Dismemberment: Forensic and Investigative


Analysis 1st Edition Sue Black

https://textbookfull.com/product/criminal-dismemberment-forensic-and-
investigative-analysis-1st-edition-sue-black/

textbookfull.com

The Dark Side of Globalisation Leila Simona Talani

https://textbookfull.com/product/the-dark-side-of-globalisation-leila-
simona-talani/

textbookfull.com
Rx.NET in Action with Examples in C# 1st Edition Tamir
Dresher

https://textbookfull.com/product/rx-net-in-action-with-examples-
in-c-1st-edition-tamir-dresher/

textbookfull.com
Perl 6
Fundamentals
A Primer with Examples, Projects,
and Case Studies

Moritz Lenz
Foreword by Larry Wall, creator of Perl
Perl 6 Fundamentals
A Primer with Examples,
Projects, and Case Studies

Moritz Lenz
Foreword by Larry Wall, creator of Perl
Perl 6 Fundamentals: A Primer with Examples, Projects, and Case Studies
Moritz Lenz
Fürth, Bayern, Germany
ISBN-13 (pbk): 978-1-4842-2898-2 ISBN-13 (electronic): 978-1-4842-2899-9
DOI 10.1007/978-1-4842-2899-9
Library of Congress Control Number: 2017948406
Copyright © 2017 by Moritz Lenz
This work is subject to copyright. All rights are reserved by the Publisher, whether the
whole or part of the material is concerned, specifically the rights of translation, reprinting,
reuse of illustrations, recitation, broadcasting, reproduction on microfilms or in any
other physical way, and transmission or information storage and retrieval, electronic
adaptation, computer software, or by similar or dissimilar methodology now known or
hereafter developed.
Trademarked names, logos, and images may appear in this book. Rather than use a
trademark symbol with every occurrence of a trademarked name, logo, or image we use the
names, logos, and images only in an editorial fashion and to the benefit of the trademark
owner, with no intention of infringement of the trademark.
The use in this publication of trade names, trademarks, service marks, and similar terms,
even if they are not identified as such, is not to be taken as an expression of opinion as to
whether or not they are subject to proprietary rights.
While the advice and information in this book are believed to be true and accurate at the
date of publication, neither the authors nor the editors nor the publisher can accept any
legal responsibility for any errors or omissions that may be made. The publisher makes
no warranty, express or implied, with respect to the material contained herein.
Cover image by Freepik (www.freepik.com)
Managing Director: Welmoed Spahr
Editorial Director: Todd Green
Acquisitions Editor: Steve Anglin
Development Editor: Matthew Moodie
Technical Reviewer: Massimo Nardone
Coordinating Editor: Mark Powers
Copy Editor: Brendan Frost
Distributed to the book trade worldwide by Springer Science+Business Media New York,
233 Spring Street, 6th Floor, New York, NY 10013. Phone 1-800-SPRINGER, fax (201) 348-4505,
e-mail orders-ny@springer-sbm.com, or visit www.springeronline.com. Apress Media,
LLC is a California LLC and the sole member (owner) is Springer Science + Business Media
Finance Inc (SSBM Finance Inc). SSBM Finance Inc is a Delaware corporation.
For information on translations, please e-mail rights@apress.com, or visit
http://www.apress.com/rights-permissions.
Apress titles may be purchased in bulk for academic, corporate, or promotional use. eBook
­versions and licenses are also available for most titles. For more information, reference our
Print and eBook Bulk Sales web page at http://www.apress.com/bulk-sales.
Any source code or other supplementary material referenced by the author in this book is
available to readers on GitHub via the book’s product page, located at www.apress.com/
9781484228982. For more detailed information, please visit http://www.apress.com/
source-code.
Printed on acid-free paper
Contents at a Glance

About the Author������������������������������������������������������������������������������ xi


About the Technical Reviewer�������������������������������������������������������� xiii
Acknowledgments��������������������������������������������������������������������������� xv
Foreword��������������������������������������������������������������������������������������� xvii


■Chapter 1: What Is Perl 6?�������������������������������������������������������������� 1

■Chapter 2: Running Rakudo Perl 6������������������������������������������������� 5

■Chapter 3: Formatting a Sudoku Puzzle����������������������������������������� 9

■Chapter 4: Datetime Conversion for the Command Line��������������� 23

■Chapter 5: Testing say( )��������������������������������������������������������������� 39

■Chapter 6: Silent-Cron, a Cron Wrapper��������������������������������������� 43

■Chapter 7: Stateful Silent-Cron����������������������������������������������������� 61

■Chapter 8: Review of the Perl 6 Basics���������������������������������������� 67

■Chapter 9: Parsing INI Files Using Regexes and Grammars��������� 73

■Chapter 10: A File and Directory Usage Graph����������������������������� 95

■Chapter 11: A Unicode Search Tool��������������������������������������������� 113

■Chapter 12: Plotting Using Inline::Python and Matplotlib������������ 119

■Chapter 13: What’s Next?����������������������������������������������������������� 135

Index���������������������������������������������������������������������������������������������� 139

iii
Contents

About the Author������������������������������������������������������������������������������ xi


About the Technical Reviewer�������������������������������������������������������� xiii
Acknowledgments��������������������������������������������������������������������������� xv
Foreword��������������������������������������������������������������������������������������� xvii


■Chapter 1: What Is Perl 6?�������������������������������������������������������������� 1
1.1 Perl 5, the Older Sister������������������������������������������������������������������� 1
1.2 Library Availability�������������������������������������������������������������������������� 2
1.3 Why Should I Use Perl 6?��������������������������������������������������������������� 2
1.4 Summary���������������������������������������������������������������������������������������� 3

■Chapter 2: Running Rakudo Perl 6������������������������������������������������� 5
2.1 Installers���������������������������������������������������������������������������������������� 5
2.2 Docker�������������������������������������������������������������������������������������������� 6
2.3 Building from Source��������������������������������������������������������������������� 7
2.4 Testing Your Rakudo Star Installation��������������������������������������������� 8
2.5 Documentation������������������������������������������������������������������������������� 8
2.6 Summary���������������������������������������������������������������������������������������� 8

■Chapter 3: Formatting a Sudoku Puzzle����������������������������������������� 9
3.1 Making the Sudoku Playable�������������������������������������������������������� 12
3.2 Shortcuts, Constants, and More Shortcuts����������������������������������� 16

v
■ Contents

3.3 I/O and Other Tragedies���������������������������������������������������������������� 18


3.4 Get Creative!�������������������������������������������������������������������������������� 20
3.5 Summary�������������������������������������������������������������������������������������� 21

■Chapter 4: Datetime Conversion for the Command Line��������������� 23
4.1 Libraries to the Rescue���������������������������������������������������������������� 23
4.2 DateTime Formatting������������������������������������������������������������������� 26
4.3 Looking the Other Way����������������������������������������������������������������� 28
4.4 Dealing with Time������������������������������������������������������������������������ 30
4.5 Tighten Your Seat Belt������������������������������������������������������������������ 31
4.6 MAIN Magic���������������������������������������������������������������������������������� 33
4.7 Automated Tests��������������������������������������������������������������������������� 34
4.8 Summary�������������������������������������������������������������������������������������� 38

■Chapter 5: Testing say( )��������������������������������������������������������������� 39
5.1 Summary�������������������������������������������������������������������������������������� 42

■Chapter 6: Silent-Cron, a Cron Wrapper��������������������������������������� 43
6.1 Running Commands Asynchronously������������������������������������������� 43
6.2 Implementing Timeouts���������������������������������������������������������������� 46
6.3 More on Promises������������������������������������������������������������������������ 48
6.4 Possible Extensions��������������������������������������������������������������������� 51
6.5 Refactoring and Automated Tests������������������������������������������������ 51
6.5.1 Refactoring������������������������������������������������������������������������������������������������� 51
6.5.2 Mocking and Testing����������������������������������������������������������������������������������� 53
6.5.3 Improving Reliability and Timing���������������������������������������������������������������� 58
6.5.4 Installing a Module������������������������������������������������������������������������������������� 58

6.6 Summary�������������������������������������������������������������������������������������� 59

vi
■ Contents


■Chapter 7: Stateful Silent-Cron����������������������������������������������������� 61
7.1 Persistent Storage������������������������������������������������������������������������ 61
7.2 Developing the Storage Back End������������������������������������������������ 62
7.3 Using the Storage Back End��������������������������������������������������������� 65
7.4 Room for Expansion��������������������������������������������������������������������� 66
7.5 Summary�������������������������������������������������������������������������������������� 66

■Chapter 8: Review of the Perl 6 Basics���������������������������������������� 67
8.1 Variables and Scoping������������������������������������������������������������������ 67
8.2 Subroutines���������������������������������������������������������������������������������� 67
8.3 Classes and Objects��������������������������������������������������������������������� 69
8.4 Concurrency��������������������������������������������������������������������������������� 71
8.5 Outlook����������������������������������������������������������������������������������������� 71

■Chapter 9: Parsing INI Files Using Regexes and Grammars��������� 73
9.1 Regex Basics�������������������������������������������������������������������������������� 74
9.1.1 Character Classes�������������������������������������������������������������������������������������� 75
9.1.2 Quantifiers�������������������������������������������������������������������������������������������������� 75
9.1.3 Alternatives������������������������������������������������������������������������������������������������ 76

9.2 Parsing the INI Primitives������������������������������������������������������������� 76


9.3 Putting Things Together��������������������������������������������������������������� 79
9.4 Backtracking�������������������������������������������������������������������������������� 80
9.5 Grammars������������������������������������������������������������������������������������ 82
9.6 Extracting Data from the Match��������������������������������������������������� 83
9.7 Generating Good Error Messages������������������������������������������������� 88
9.7.1 Failure Is Normal���������������������������������������������������������������������������������������� 88
9.7.2 Detecting Harmful Failure�������������������������������������������������������������������������� 89
9.7.3 Providing Context��������������������������������������������������������������������������������������� 90
9.7.4 Shortcuts for Parsing Matching Pairs��������������������������������������������������������� 92

vii
■ Contents

9.8 Write Your Own Grammars����������������������������������������������������������� 93


9.9 Summary�������������������������������������������������������������������������������������� 93

■Chapter 10: A File and Directory Usage Graph����������������������������� 95
10.1 Reading File Sizes���������������������������������������������������������������������� 95
10.2 Generating a Tree Map��������������������������������������������������������������� 97
10.3 Flame Graphs��������������������������������������������������������������������������� 101
10.4 Functional Refactorings����������������������������������������������������������� 103
10.5 More Language Support for Functional Programming������������� 109
10.6 More Improvements����������������������������������������������������������������� 110
10.7 Explore!������������������������������������������������������������������������������������ 111
10.8 Summary���������������������������������������������������������������������������������� 112

■Chapter 11: A Unicode Search Tool��������������������������������������������� 113
11.1 Code Points, Grapheme Clusters, and Bytes���������������������������� 115
11.2 Numbers����������������������������������������������������������������������������������� 116
11.3 Other Unicode Properties��������������������������������������������������������� 117
11.4 Collation����������������������������������������������������������������������������������� 117
11.5 Summary���������������������������������������������������������������������������������� 118

■Chapter 12: Plotting Using Inline::Python and Matplotlib������������ 119
12.1 Extracting the Stats������������������������������������������������������������������ 119
12.2 Plotting with Python����������������������������������������������������������������� 120
12.3 Bridging the Gap���������������������������������������������������������������������� 122
12.4 Using the Bridge to Plot����������������������������������������������������������� 123
12.5 Stacked Plots��������������������������������������������������������������������������� 125

viii
■ Contents

12.6 Idiomatic Use of Inline::Python������������������������������������������������� 129


12.6.1 Types of Python APIs������������������������������������������������������������������������������� 129
12.6.2 Mapping the Function API����������������������������������������������������������������������� 130
12.6.3 An Object-Oriented Interface������������������������������������������������������������������ 132

12.7 Summary���������������������������������������������������������������������������������� 134

■Chapter 13: What’s Next?����������������������������������������������������������� 135
13.1 Scaling Your Code Base����������������������������������������������������������� 135
13.2 Packaging Your Application������������������������������������������������������ 136
13.2.1 Packaging as a Traditional Perl 6 Module����������������������������������������������� 136
13.2.2 Deploying with Docker��������������������������������������������������������������������������� 137
13.2.3 Windows Installers��������������������������������������������������������������������������������� 137

13.3 Closing Thoughts���������������������������������������������������������������������� 137

Index���������������������������������������������������������������������������������������������� 139

ix
About the Author

Moritz Lenz is a software engineer and architect.


In the Perl community, he is well known for
his contributions to the Perl 6 programming
language, the Rakudo Perl 6 compiler, related test
suite, infrastructure, and tools. At his employer,
noris network AG, he introduced Continuous
Delivery for many in-house-developed
applications, and now wants to share his
experience with the wider world.

xi
Visit https://textbookfull.com
now to explore a rich
collection of eBooks, textbook
and enjoy exciting offers!
About the Technical
Reviewer

Massimo Nardone has more than 22 years


of experiences in Security, Web/Mobile
development, and Cloud and IT Architecture.
His true IT passions are Security and Android.
He has been programming and teaching how
to program with Android, Perl, PHP, Java, VB,
Python, C/C++, and MySQL for more than 20 years.
He holds a Master of Science degree in
Computing Science from the University of
Salerno, Italy.
He has worked as a Project Manager, Software
Engineer, Research Engineer, Chief Security
Architect, Information Security Manager, PCI/
SCADA Auditor, and Senior Lead IT Security/
Cloud/SCADA Architect for many years.
Massimo’s technical skills include Security, Android, Cloud, Java, MySQL,
Drupal, Cobol, Perl, Web and Mobile development, MongoDB, D3, Joomla,
Couchbase, C/C++, WebGL, Python, Pro Rails, Django CMS, Jekyll, and Scratch.
He currently works as Chief Information Security Officer (CISO) for
Cargotec Oyj.
He worked as visiting lecturer and supervisor for exercises at the Networking
Laboratory of the Helsinki University of Technology (Aalto University). He holds
four international patents (PKI, SIP, SAML, and Proxy areas).
Massimo has reviewed more than 40 IT books for different publishing
companies, and he is the coauthor of Pro Android Games (Apress, 2015).

xiii
Acknowledgments

They say it takes a village to raise a child. Similar things can be said about
writing a book. It is only possible through the effort of many people, often
unpaid volunteers who contribute just to see the project succeed, and out of
kindness of heart.
I am very grateful for the review by and feedback from Paul Cochrane,
Will Coleda, Elizabeth Mattijsen, Ryan Erwin, Claudio Ramirez, and Massimo
Nardone.
Special thanks go to Larry Wall for creating Perl, for the great foreword, and
for shaping the community to be friendly, welcoming, and a second home to me.
Finally, thanks go to my parents, for kindling my love both for books and for
engineering. And most importantly to my family: to Signe, my wife, for constant
support; and to my daughters Ida and Ronja for keeping me grounded in the real
world, and bringing joy to my life.

xv
Foreword

The reason I’m writing this (and perhaps why you’re reading it), is that people
just give me way too much credit. Yeah, sure, I invented Perl 30 years ago, and I
coded the first five versions all by myself, pretty much. But for the last 20 years,
the vast majority of the work has been done by other members of the industrious
Perl community, who get far too little credit. To be sure, I don’t mind getting
extra credit: I’m human enough to enjoy the undue adulation, and I understand
how communities want—and possibly even need—to have a figurehead who
represents the whole.
I will gladly take credit, however, for the idea that a computer language must
have a vibrant community in order to thrive. From the beginning, that was the
intent of Perl. It all comes down to linguistics: Perl was designed to work like a
natural language on many levels, not just the syntactic level. In particular, every
living language is symbiotic with the culture that conveys it forward into the
future. More generally, natural languages are responsive to context on every
level, and some of those levels are anthropological. People provide context to
Perl, which in turn is designed to respond productively to that context.
This may seem simple, but it’s a surprisingly tricky concept to bake into
a programming language and its culture. Just look at how many computer
languages fail at it. In most programming cultures, you are a slave to the
computer language. Rarely, if ever, do you get the feeling that the computer
language is there to work for you.
We’re trying to change all that. So when the Perl community, back in 2000,
decided to do a major redesign of Perl 5 to clean up the cruftier bits, we not only
wanted to fix things that we already knew were suboptimal, but we also wanted
to do a better job of responding to cultural change, because we simply don’t
know what we’ll want in the future. So we thought about how best to future-
proof a computer language; much of the current design is about maintaining
careful control of identity, mutability, dimensionality, typology, and extensibility
over time, so we could isolate changes to minimize collateral damage. Other
than worrying about that, my main contribution as language designer was to
unify the community’s contradictory desires into a coherent whole.
All that being said, it’s still all about the community: nearly all the
implementation work was done by others, and most of the features that ended
up in Perl 6 can be traced back through various revisions to the community’s

xvii
■ Foreword

original RFCs. True, many of those original designs we deemed inadequate,


but we never lost sight of the pain points those original suggestions were trying
to address. As a result, even though Perl 6 ended up to be quite a different
language than Perl 5, it is still essentially Perl in spirit. We now think of Perl 6
as the “younger sister” to Perl 5, and we expect the sisters will get along well in
the future. You’re allowed to be friends with either or both. They only squabble
occasionally, as family do.
Since 2000, we’ve had over 800 contributors to the Perl 6 effort, one way or
another. Some folks come and go, and that’s fine. We welcome the occasional
contributor. On the other hand, we also honor those who strove greatly but paid
the price of burnout. And we deeply revere those who have already passed on,
who contributed, in some cases, knowing they would never see the final result.
But then there are those who have stuck with the Perl 6 effort through
thick and thin, through joy and frustration, who have patiently (or at least
persistently!) risen to the challenge of building a better Perl community around
the revised Perl language, and who have gladly taken on the hard work of making
other people’s lives easy.
One such is my friend Moritz Lenz, your author, and a much-respected
member of our not-so-secret Perl 6 Cabal. Well, some days it’s more like the Perl
6 Comedy Club.
While thinking about this foreword, I guessed (and Moritz confirmed) that
he has a background in the performance arts. One can tell, because he seems
to have a natural feel for when to blend in as part of the ensemble, when to step
forward and take a solo lead, and when to step back again and let someone else
come to the fore. In many ways, the Perl 6 effort has been like a jazz jam session,
or like improv comedy, the kind of art where part of it is showing how cleverly we
learn to work together and trade off roles on the fly.
I’ve had to learn some of that myself. Good leaders don’t try to lead all the
time. That’s what bad leaders try to do. Often, a good leader is just “following
out in front,” sensing when the group behind wants a change of direction, and
then pretending to lead the group in that direction. Moritz knows how to do
that too.
Hence, this book. It’s not just a reference, since you can always find such
materials online. Nor is it just a cookbook. I like to think of it as an extended
invitation, from a well-liked and well-informed member of our circle, to people
like you who might want to join in on the fun. Because joy is what’s fundamental
to Perl. The essence of Perl is an invitation to love, and to be loved by, the Perl
community. It’s an invitation to be a participant of the gift economy, on both the
receiving and the giving end.

xviii
■ Foreword

Since Herr Doktor Professor Lenz is from Deutschland, I think it’s


appropriate to end with one of my favorite German sayings:
Liebe ist arm und reich,
Fordert und gibt zugleich.
Oder auf Englisch:
Love is poor and rich,
Taking and giving as one.
Larry Wall, May 2017

xix
CHAPTER 1

What Is Perl 6?

Perl 6 is a programming language. It is designed to be easily learned, read, and


written by humans, and is inspired by natural language. It allows the beginner
to write in “baby Perl,” while giving the experienced programmer freedom of
expression, from concise to poetic.
Perl 6 is gradually typed. It mostly follows the paradigm of dynamically
typed languages in that it accepts programs whose type safety it can’t guarantee
during compilation. However, unlike many dynamic languages, it accepts and
enforces type constraints. Where possible, the compiler uses type annotations
to make decisions at compile time that would otherwise only be possible at
runtime.
Many programming paradigms have influenced Perl 6. You can write
imperative, object-oriented, and functional programs in Perl 6. Declarative
programming is supported through features like multiple-dispatch, sub-typing,
and the regex and grammar engine.
Most lookups in Perl 6 are lexical, and the language avoids global state. This
makes parallel and concurrent execution of programs easier, as does Perl 6’s
focus on high-level concurrency primitives. When you don’t want to be limited
to one CPU core, instead of thinking in terms of threads and locks, you tend to
think about promises and message queues.
Perl 6 as a language is not opinionated about whether Perl 6 programs should be
compiled or interpreted. Rakudo Perl 6—the main implementation—precompiles
modules on the fly and interprets scripts.

1.1 Perl 5, the Older Sister


Around the year 2000, Perl 5 development faced major strain from the
conflicting desires to evolve and to keep backward compatibility.
Perl 6 was the valve to release this tension. All the extension proposals that
required a break in backward compatibility were channeled into Perl 6, leaving it
in a dreamlike state where everything was possible and nothing was fixed. It took
several years of hard work to get into a more solid state.

© Moritz Lenz 2017 1


M. Lenz, Perl 6 Fundamentals, DOI 10.1007/978-1-4842-2899-9_1
Chapter 1 ■ What Is Perl 6?

During this time, Perl 5 also evolved, and the two languages are different
enough that most Perl 5 developers don’t consider Perl 6 a natural upgrade path
anymore, to the point that Perl 6 does not try to obsolete Perl 5 (at least not more
than it tries to obsolete any other programming language :-), and the first stable
release of Perl 6 in 2015 does not indicate any lapse in support for Perl 5.
Perl 5 is developed by a separate community of enthusiasts, who keep an
eye on Perl 6 to find features worth adopting into Perl 5. So while the Perl 5 and
Perl 6 communities have a certain overlap and communicate with each other,
both thrive mostly independently.

1.2 Library Availability
Being a relatively young language, Perl 6 lacks the mature module ecosystem
that languages such as Perl 5 and Python provide.
To bridge this gap, interfaces exist that allow you to call into libraries
written in C, Python, Perl 5, and Ruby. The Perl 5 and Python interfaces are
sophisticated enough that you can write a Perl 6 class that subclasses a class
written in either language, and the other way around.
So if you like a particular Python library, for example, you can simply load it
into your Perl 6 program through the Inline::Python module.

1.3 Why Should I Use Perl 6?


If you like the quick prototyping experience from dynamically typed
programming languages, but you also want enough safety features to build big,
reliable applications, Perl 6 is a good fit for you. Its gradual typing allows you to
write code without having a full picture of the types involved, and later introduce
type constraints to guard against future misuse of your internal and external APIs.
Perl has a long history of making text processing via regular expressions
(regexes) very easy, but more complicated regexes have acquired a reputation
of being hard to read and maintain. Perl 6 solves this by putting regexes on the
same level as code, allowing you to name them like subroutines, and even to
use object-oriented features such as class inheritance and role composition to
manage code and regex reuse. The resulting grammars are very powerful and
easy to read. In fact, the Rakudo Perl 6 compiler parses Perl 6 source code with a
Perl 6 grammar!
Speaking of text, Perl 6 has amazing Unicode support. If you ask your user
for a number, and they enter it with digits that don’t happen to be the Arabic
digits from the ASCII range, Perl 6 still has you covered. And if you deal with
graphemes that cannot be expressed as a single Unicode code point, Perl 6 still
presents it as a single character.

2
Chapter 1 ■ What Is Perl 6?

There are more technical benefits that I could list, but more importantly,
the language is designed to be fun to use. An important aspect of that is good
error messages. Have you ever been annoyed at Python for typically giving just
SyntaxError: invalid syntax when something’s wrong? This error could
come from forgetting a closing parenthesis, for example. In this case, a Perl 6
compiler says

Unable to parse expression in argument list; couldn't find final ')'

which actually tells you what’s wrong. But this is just the tip of the iceberg. The
compiler catches common mistakes and points out possible solutions, and
even suggests fixes for spelling mistakes. The Perl 6 community considers error
messages that are less than awesome, short LTA, to be worthy of bug reports, and
much effort is spent into raising the bar for error messages.
Finally, Perl 6 gives you the freedom to express your problem domain and
solution in different ways and with different programming paradigms. And if
the options provided by the core language are not enough, it is designed with
extensibility in mind, allowing you to introduce both new semantics for
object-oriented code and new syntax.

1.4 Summary
Perl 6 is a flexible programming language that offers many cool and convenient
features to both beginners and experts. It offers flexibility, type checking, and
powerful Unicode and text processing support.

3
CHAPTER 2

Running Rakudo Perl 6

Before we start exploring Perl 6, you should have an environment where you
can run Perl 6 code. So you need to install Rakudo Perl 6, currently the only
actively developed Perl 6 compiler. Or even better, install Rakudo Star, which is a
distribution that includes Rakudo itself, a few useful modules, and a tool that can
help you install more modules.
Installing Rakudo itself gives you just the compiler. It follows a monthly
release cycle, so it allows you to keep up to date with the latest developments.
When you choose to install Rakudo Star, which is typically released every
three months, you get a more stable base for development, and some tools like a
debugger and a module installer. You can use the module installer to make use
of prepackaged software libraries that are included neither in Rakudo itself nor
in Rakudo Star.
The following sections discuss a few options for installing Rakudo Star.
Choose whatever works for you.
The examples in this book use Rakudo 2017.04.03 or Rakudo Star 2017.04
(which is built on top of Rakudo 2017.04.03) and should work with this or any
newer version of Rakudo, as long as it supports Perl 6 version 6.c.

■■Note The examples and source code used in this book can be accessed via the
Download Source Code button at https://www.apress.com/9781484228982.

2.1 Installers
You can download installers from https://rakudo.perl6.org/downloads/
star/ for Mac OS (.dmg) and Windows (.msi). After download, you can launch
them, and they walk you through the installation process.
Prebuilt Linux packages are available from https://github.com/nxadm/
rakudo-pkg/releases/ for Debian, Ubuntu, CentOS, and Fedora.
In both cases, use version 2017.04 to get the best compatibility with the
examples used in this book.

© Moritz Lenz 2017 5


M. Lenz, Perl 6 Fundamentals, DOI 10.1007/978-1-4842-2899-9_2
Chapter 2 ■ Running Rakudo Perl 6

Note that Rakudo is not relocatable, which means you have to install to
a fixed location that was decided by the creator of the installer. Moving the
installation to a different directory is not possible.
On Windows, the installer (Figure 2-1) offers to add C:\rakudo\bin and
C:\rakudo\share\perl6\site\bin to your PATH environment. You should
choose that option, as it allows you to execute Rakudo perl6 (and programs that
the module installer installs on your behalf ) without specifying full paths.

Figure 2-1. The Rakudo Star installer consists of four easy screens

2.2 Docker
On platforms that support Docker, you can pull an existing Docker container
from the docker hub:

$ docker pull rakudo-star

Then you can get an interactive Rakudo shell with this command:

$ docker run -it rakudo-star perl6:2017.04

But that alone won’t work for executing scripts, because the container has
its own separate file system. To make scripts available inside the container, you
need to tell Docker to make the current directory available to the container:

$ docker run -v $PWD:/perl6 -w /perl6 -it rakudo-star perl6


6
Visit https://textbookfull.com
now to explore a rich
collection of eBooks, textbook
and enjoy exciting offers!
Chapter 2 ■ Running Rakudo Perl 6

The option -v $PWD:/perl6 instructs Docker to mount the current working


directory ($PWD) into the container, where it’ll be available as /perl6. To make
relative paths work, -w /perl6 instructs Docker to set the working directory of
the Rakudo process to /perl6.
Since this command line starts to get unwieldy, I created an alias (this is
Bash syntax; other shells might have slightly different alias mechanisms):

alias p6d='docker run -v $PWD:/perl6 -w /perl6 -it rakudo-star perl6'

I put this line into my ∼/.bashrc file, so new shell instances have a p6d
command, short for “Perl 6 docker.”
As a short test to see if it works, you can run

$ p6d -e 'say "hi"'


hi

If you go the Docker route, use the p6d alias instead of perl6 to run scripts.

2.3 Building from Source


To build Rakudo Star from source, you need make, the GNU C Compiler1 (GCC),
or clang and Perl 5 installed. This example installs into $HOME/opt/rakudo-star:

$ wget https://rakudo.perl6.org/downloads/star/rakudo-star-2017.04.
tar.gz
$ tar xzf rakudo-star-2017.04.tar.gz
$ cd rakudo-star-2017.04/
$ perl Configure.pl --prefix=$HOME/opt/rakudo-star --gen-moar
$ make install

You should have about 2GB of RAM available for the last step; building a
compiler is a resource-intensive task.
You need to add paths to two directories to your PATH environment variable,
one for Rakudo itself and one for programs installed by the module installer:

PATH=$PATH:$HOME/opt/rakudo-star/bin/:$HOME/opt/rakudo-star/share/perl6/
site/bin

If you are a Bash user, you can put that line into your ∼/.bashrc file to make
it available in new Bash processes.

1
http://gcc.gnu.org/

7
Chapter 2 ■ Running Rakudo Perl 6

2.4 Testing Your Rakudo Star Installation


You should now be able to run Perl 6 programs from the command line and ask
Rakudo for its version:

$ perl6 --version
This is Rakudo version 2017.04.2 built on MoarVM version 2017.04
implementing Perl 6.c.

$ perl6 -e "say <hi>"


hi

If, against all odds, all of these approaches have failed to produce a usable
Rakudo installation, you should describe your problem to the friendly Perl
6 community, which can usually provide some help. https://perl6.org/
community/ describes ways to interact with the community.

2.5 Documentation
Rakudo itself has little documentation, since most of the interesting material is
about the Perl 6 language. But Rakudo does come with a summary of command-
line options that you can access by calling perl6 --help.
The official place for Perl 6 language documentation is at https://docs.
perl6.org/, which aims to provide both reference and tutorial-style material.
Other good resources are listed at https://perl6.org/resources/, many of
which are created and maintained by members of the Perl 6 community.

2.6 Summary
On most platforms, you can install Rakudo Star from prebuilt binary installers.
Where this doesn’t work, Docker images are available. Finally, Rakudo Star can
be built from its sources.

8
CHAPTER 3

Formatting a Sudoku Puzzle

As a gentle introduction to Perl 6, let’s consider a small task that I recently


encountered while pursuing one of my hobbies.
Sudoku is a number-placement puzzle played on a grid of 9×9 cells,
subdivided into blocks of 3×3 (Figure 3-1). Some of the cells are filled out with
numbers from 1 to 9, some are empty. The objective of the game is to fill out the
empty cells so that in each row, column, and 3×3 block, each digit from 1 to 9
occurs exactly once.

Figure 3-1. A Sudoku puzzle in its unsolved form

© Moritz Lenz 2017 9


M. Lenz, Perl 6 Fundamentals, DOI 10.1007/978-1-4842-2899-9_3
Chapter 3 ■ Formatting a Sudoku Puzzle

An efficient storage format for a Sudoku is simply a string of 81 characters,


with 0 for empty cells and the digits 1 to 9 for prefilled cells. The task I want to
solve is to bring this into a friendlier format.
The input could be

00000007500008009400050060001000020000090005700600304000100002308000
0006063240000

On to our first Perl 6 program:

# file sudoku.p6
use v6;
my $sudoku = '
000000075000080094000500600010000200000900057006003040
001000023080000006063240000';
for 0..8 -> $line-number {
    say substr $sudoku, $line-number * 9, 9;
}

You can run it like this:

$ perl6 sudoku.p6
000000075
000080094
000500600
010000200
000900057
006003040
001000023
080000006
063240000

There’s not much magic in there, but let’s go through the code one line at a time.
The first line, starting with a #, is a comment that extends to the end of the line.

use v6;

This line is not strictly necessary, but good practice anyway. It declares
the Perl version you are using, here v6; in other words, any version of the Perl
6 language. We could be more specific and say use v6.c to require exactly the
version discussed here. If you ever accidentally run a Perl 6 program through
Perl 5, you’ll be glad you included this line, because it’ll tell you the following:

$ perl sudoku.p6
Perl v6.0.0 required--this is only v5.22.1, stopped at sudoku.p6 line 1.
BEGIN failed--compilation aborted at sudoku.p6 line 1.

10
Chapter 3 ■ Formatting a Sudoku Puzzle

instead of the much more cryptic

syntax error at sudoku.p6 line 4, near "for 0"


Execution of sudoku.p6 aborted due to compilation errors.

The first interesting line is

my $sudoku = '00000007500...';

my declares a lexical variable. It is visible from the point of the declaration to the
end of the current scope, which means either to the end of the current block
delimited by curly braces, or to the end of the file if it’s outside any block, as it is
in this example.
Variables start with a sigil, here a $. Sigils are what gave Perl the reputation
of being line noise, but there is signal in the noise. The $ looks like an S, which
stands for scalar. If you know some math, you know that a scalar is just a single
value, as opposed to a vector or even a matrix.
This variable doesn’t start its life empty, because there’s an initialization
right next to it. The value it starts with is a string literal, as indicated by the
quotes.
Note that there is no need to declare the type of the variable beyond the
very vague “it’s a scalar” implied by the sigil. If we wanted, we could add a type
constraint:

my Str $sudoku = '00000007500...';

But when quickly prototyping, I tend to forego type constraints, because I


often don’t know yet how exactly the code will work out.
The actual logic happens in the next lines, by iterating over the line numbers
0 to 8:

for 0..8 -> $line-number {


    ...
}

The for loop has the general structure for ITERABLE BLOCK. Here the
iterable is a range,1 and the block is a pointy block. The block starts with ->,
which introduces a signature. The signature tells the compiler what arguments
the block expects, here a single scalar called $line-number.

1
https://docs.perl6.org/type/Range.html

11
Random documents with unrelated
content Scribd suggests to you:
metallo, anche prezioso, lavori in ceramica, porcellana, oggetti di
legno, schiavi ecc. ecc. I rivoli di tanta importazione scaturivano da
ogni parte del mondo allora conosciuto, dalla Grecia peninsulare,
dalla Tracia, dalla Macedonia, dal Tirreno, dal Jonio, dall’Egeo, dalle
coste dell’Asia Minore, dalle sponde del Mar Nero, da Cipro, Creta,
Cartagine, dalla Magna Grecia, in Etruria, in Caria, in Frigia, in
Paflagonia, in Fenicia, in Spagna, in Siria [37].
Tanto ben di Dio non era unicamente destinato al fabbisogno della
città, ma ne alimentava a sua volta lo scambio ed il commercio con
l’estero. I forestieri scendevano sia al Pireo che ad Atene a fare le
loro provviste e a fornirsi dei manufatti dell’industria paesana o
forestiera, accumulati nei magazzini della metropoli. «Tutti coloro»,
chiedeva Senofonte o, piuttosto, l’anonimo autore di un suggestivo
libretto su Le entrate di Atene; «tutti coloro i quali abbondano di
grano, di vino (specie se si tratta di qualità prelibate), di olio, di
bestiame, vogliono trar vantaggio o dalla loro sagacia o dal loro
danaro», «tutti quelli che han bisogno di vendere o di comperare
nella maggiore quantità e nel più breve tempo possibile, dove
potrebbero meglio profittare che in Atene?» [38]. In tal guisa, Atene, a
cui tutti i prodotti delle contrade mediterranee mettevano capo,
esportava, a sua volta, ovunque [39] pellicce, oggetti in cuoio, tessuti
di varie fogge, vasi di terra e di metallo, letti, strumenti musicali,
profumi, chincaglierie, oreficerie, argenterie, libri, tavole, statue,
oggetti artistici, marmo, piombo, e, fra i generi alimentari, vino, miele,
fichi e, specialmente olio [40], dal cui commercio, come dall’unica
derrata, che la politica finanziaria ateniese affrancasse da misure
proibitive, massimo era, qual’è ancor oggi, il guadagno.
D’altro lato, i mercanti ateniesi facevano direttamente, fuori
dell’Attica, un attivissimo scambio di merci, acquisite e caricate [41],
ed esportavano dall’Egeo vini e altri articoli in Sicilia, in Italia, nella
Colchide, nel Ponto [42], ecc.
A quanto ascendeva il valore del movimento commerciale di Atene?
Noi non abbiamo mezzo sicuro per determinarlo. Calcolando
sull’ammontare del dazio d’entrata e di uscita, a cui sottostavano le
merci che per terra o per mare entravano nell’Attica o ne uscivano —
la famosa cinquantesima, ossia un’imposta del 2% — quale ci è
riferito per un anno di grave crisi economica ateniese, ci troveremmo
di fronte a un movimento di 10-12 milioni [43]. Ma il commercio
ateniese doveva essere ben altra cosa negli anni normali o nei giorni
della gloria. Del resto esso non si svolgeva soltanto nell’Attica, ma
circolava per tutto il suo impero marittimo. Entro così vasta periferia,
noi non possiamo supporlo inferiore a 160-180.000.000 di lire-
oro [44], ossia, dato il valore del denaro nell’evo antico, rispetto a
quello moderno, pari circa a un miliardo di lire, il triplo di ciò a cui,
innanzi la Guerra europea, ascendesse il movimento commerciale
della Grecia contemporanea, che è pure uno dei più fiorenti del
Mediterraneo [45].
Or bene, tutta questa gigantesca e preziosa attività veniva d’un tratto
arrestata dalla guerra. Le navi, gli uomini erano tosto destinati a
scopi ben diversi, che non fossero più quelli del pacifico commercio;
i porti erano ingombri di vascelli militari e di materiale bellico; a tutte
le flotte era imposto il duro cómpito della così detta guerra di corsa.
Una tale e tanto grave conseguenza basterebbe da sola ad avvertire
delle proporzioni della crisi, che la guerra, col suo semplice
annunzio, veniva ogni volta a provocare.
Nè la guerra si combatteva soltanto con le armi. Il gioco delle armi si
intrecciava e si serrava con quello delle proibizioni commerciali. «I
nostri nemici», avvertiva acutamente l’autore de La Repubblica
ateniese, «non consentiranno mai che le merci vengano portate in
luoghi diversi da quelli in cui essi tengono il dominio del mare» [46].
La Guerra del Peloponneso — era ben noto in Atene — era stata
inaugurata da un decreto vietante ai Megaresi l’accesso nei mercati
dell’Attica e nei restanti porti della Confederazione [47]; più volte
Egina ed Atene s’erano a vicenda bandito il boicottaggio di
determinate mercanzie; in tempi lieti e tranquilli, Sparta, antico
Impero celeste, chiudeva l’ingresso agli stranieri [48], e quindi alle
loro importazioni. Ma la guerra induceva naturalmente a moltiplicare
all’infinito la frequenza e la gravità di tante rappresaglie e di così
gravi danni.
Quando Atene ebbe rotto le ostilità contro Filippo II, fu bandita la
pena di morte contro chiunque apprestasse armi o attrezzi navali al
nemico [49]. E, poichè le fabbriche ateniesi erano le fornitrici principali
del materiale di guerra a molti Stati greci, siffatta disposizione, che
deve aver avuto conseguenze crudeli, non deve certo essere
rimasta episodio isolato. Noi non abbiamo menzione di veri e propri
blocchi, parziali o totali, contro l’Attica: ma sappiamo che contro
Atene fu più volte condotta la così detta guerra di corsa e siamo
autorizzati a pensare che blocchi veri e propri non dovettero
certamente mancarne poichè ne troviamo enumerati parecchi a
danno di altri Paesi. Il blocco, del resto, non danneggia soltanto
coloro contro cui è dichiarato, ma ricade su quelli stessi che lo
dichiarano, specie se si tratta di Stati industriali e commerciali. Esso
equivale alla chiusura di una delle fonti dell’importazione e di taluno
dei mercati d’esportazione, cioè a dire al disseccamento di una parte
dell’agiatezza e della ricchezza di quei Paesi, che lo hanno per primi
volontariamente decretato [50].
Ma non si trattava di ripercussioni o di effetti limitati. La grande legge
della solidarietà universale abbraccia tutto il dominio e tutti i rami
della produzione. «I frammenti del gran tutto», parla un antico, «si
sorreggono come gli anelli di una catena; l’agricoltura ha bisogno
dell’arte del legnaiuolo e del fabbro ferraio; questi, dei tessitori e
degli architetti, e così, a chi ben guardi, tutto è solidale
nell’intrecciarsi dell’umano consorzio». Per tal guisa, il fiorire o il
decadere del commercio decideva in buona parte delle sorti
dell’agricoltura e di quelle dell’industria.
Il rapporto di queste due attività riesce nell’evo antico alquanto
diverso da quello che fra esse corre nell’evo moderno. Oggi il rapido
miglioramento degli strumenti di produzione, la tenuità del prezzo
delle merci sforzano i mercati più refrattari, determinano le correnti
d’importazione e di esportazione, eludono i talora contrastanti
rapporti diplomatici. Nel mondo antico, invece, delle sorti del
commercio, e quindi della esistenza delle varie industrie, decideva il
più delle volte la violenza delle armi.
Gli Stati, con le loro navi da guerra e con la loro autorità,
assicuravano le pericolose vie del transito, aprivano o chiudevano i
mercati ai più temuti concorrenti, s’accaparravano, in gran copia e a
buon mercato, l’approvvigionamento delle materie prime. L’industria
e il dominio della terra e del mare erano, assai più che nell’evo
contemporaneo, intimamente connessi fra loro, e la ricchezza e la
forza erano, assai più che non oggi, a un di presso, un unico
fenomeno sotto denominazioni differenti. «Non vi è città», spiega
ancora l’autore de La Repubblica ateniese, «che non abbia bisogno
di importare o di esportare; il che non potrebbe, se non
assoggettandosi alle disposizioni di coloro che tengono il dominio
delle acque» [51]. «Se taluna ha eccesso di legname per navi, dove
lo venderà se non consente chi impera sul mare? Se tal’altra
abbonda di ferro, di bronzo, di cotone, dove li scambierà se a
costoro non si renderà benevisa?» [52]. Ma se tale circostanza
faceva ad ogni popolo gradito il pensiero della guerra, ogni disastro
bellico segnava necessariamente la fine d’ogni prosperità industriale.
A sua volta la rovina del commercio e dell’industria si ripercoteva
malauguratamente su quello che abbiamo definito il fulcro
dell’economia antica: l’agricoltura. Si è talora ritenuto che le società
puramente agricole siano capaci di vivere e di fiorire in piena ed
isolata indipendenza. Nulla di meno esatto. Condizione necessaria
della loro prosperità è stata in ogni tempo l’esistenza di mercati
prossimi al coltivatore, ove questi possa smerciare le proprie derrate
e donde abbia mezzo di ritrarre gli elementi necessari al proprio
benessere. Quanto diverse non sono le prospettive dell’agricoltura in
Paesi poveri e in Paesi arricchiti dalla febbrile attività del commercio
e dell’industria! Le sorti dell’agricoltura risultano quindi strettamente
connesse con le sorti dell’uno e dell’altra; fioriscono e decadono
insieme. Tale è stata la sorte loro in ogni tempo: tale fu nell’Attica
antica!
Ma gli effetti economici della guerra perenne, quale noi la ritroviamo
in Grecia, non conoscono limiti. Le nazioni antiche non disponevano
di una quantità sempre uguale e costante di prodotti naturali o di
merci di cui godere. Le difficoltà dei trasporti, l’impossibilità di reagire
artificialmente alle violenze degli agenti naturali, la mancanza di un
comune mercato regolatore; sopra tutto, la scarsa potenzialità
produttiva, riescivano di ostacolo insuperabile alla stabilità e alla
costanza della produzione [53]. Ma, fra le cause di squilibrio,
massime erano quelle dipendenti dalla guerra.
La guerra distruggeva ciò che si era prodotto, allontanava le braccia
dalla produzione, arrestava e stornava l’investimento dei capitali,
turbava la pastorizia e l’agricoltura, impediva l’importazione e
l’esportazione, determinava mirabolanti dislivelli nei prezzi delle
derrate naturali e delle merci, che, come l’esperienza oggi ci avverte,
dovevano anche allora prolungarsi per gran tempo, o, magari,
aggravarsi, al ritorno delle brevissime paci [54]; arrestava gli affari o
distruggeva il credito; sospendeva l’obbligo della correttezza e della
legalità, e, sotto la minaccia di oscuri pericoli, terminava per pesare
sulla vita sociale con una continua incertezza, un oscuro malessere,
una paralisi quotidiana delle sue migliori energie, di cui, nell’assai più
stabile regolarità del mondo contemporaneo, riesciamo a mala pena
a cogliere la portata.

La guerra e le finanze ateniesi.

Con la crisi universale dell’economia privata s’accompagna quella


dell’economia dello Stato. A quali proporzioni ascese lo sforzo
finanziario che la Repubblica d’Atene si imponeva al ricorrere di ogni
guerra?
Già, fin dal V secolo, la Città, sobbarcandosi a un dispendio annuo di
circa 200.000 lire-oro aveva acquistato, e manteneva a suo carico,
un corpo di mille arcieri, che salirono più tardi a 1600, i quali, pur
serbando, quale principale attribuzione, la polizia della città,
potevano essere impiegati in operazioni più specificatamente
militari [55].
Venne quindi istituito un corpo di cavalieri, i quali salirono via via a
mille, e poi a mille e duecento [56], e per cui la spesa ascendeva a
non meno di 225.000 lire annue [57]. Venne al tempo istesso
organizzato, pel servizio della marina, un esercito di teti, anch’essi a
carico dell’erario [58], e, finalmente, allorchè le guerre si resero
permanenti e fu d’uopo combatterle in remote contrade, occorse,
come nella Repubblica romana, stipendiare senza distinzione, tutti i
soldati, nonchè reclutare dei mercenari. Allora ogni pedone ricevette
in guerra L. 0,60 giornaliere, talora perfino L. 2, e ogni cavaliere, il
doppio, o, magari, il triplo della prima delle cifre sovra indicate [59],
senza calcolare l’indennità di equipaggiamento: la così detta
καταστάσις [60].
Noi possiamo calcolare a quanto ammontasse la spesa giornaliera
per lo stipendio di un esercito in piede di guerra. Supponendo un
esercito in armi, tra milizie attive e di riserva, di 20.000 uomini di
fanteria e di un migliaio o poco più di cavalieri [61], avremmo, per il
solo stipendio ai soldati, L. 13.500 al giorno, ossia circa L. 900.000
all’anno, ossia, a seconda i tempi, 1⁄6 o 1⁄1 2 di tutte le entrate annuali
del bilancio ateniese! [62]. Ma all’indennità di equipaggiamento e al
soldo per l’esercito di terra, occorreva in Atene aggiungere le spese
per le fortificazioni intorno alla città, e, sopra tutto, quelle pel
mantenimento della flotta.
Le costruzioni navali non venivano, nè in pace nè in guerra,
interrotte. Ogni anno si costruivano non meno di venti triremi [63], e il
Consiglio, che non vi avesse provveduto, non poteva avanzare diritti
ad onorificenze [64]. Ogni trireme costava, nel V secolo, un talento,
ossia 6000 lire circa [65]. Al suo armamento occorrevano, tra marinai
e soldati, duecento persone, di cui ciascuna, se normalmente, tra
soldo e indennità di vitto, percepiva, al pari dei soldati di terra, L.
0,60 al giorno [66], riceveva talora, quale eccitamento a maggiore
attività ed emulazione, fino ad una dramma (L. 1) circa [67]; sì che,
calcolando in base ad una flotta di 300 triremi, le sole spese pel
mantenimento dell’equipaggio, per un solo mese, dovevano
ascendere a non meno di un milione di lire. Or bene, un’armata di
300 triremi fu tutt’altro che straordinaria per Atene. Al 353 la flotta
ateniese ne contava 349 [68]; nel 325, 360, oltre a 50, più costose,
quadriremi e a 7 quinquiremi [69]; al 330, 392 triremi e 18
quadriremi [70].
Ma alla costruzione delle navi e all’allestimento delle flotte occorreva
un arsenale: quello del Pireo era costato non meno di sette
milioni [71]. Oltre ai vascelli da guerra occorrevano le navi onerarie, le
altre destinate al tragitto della cavalleria, i battelli di servizio. Gli
assedî reclamavano nuove spese per costruzioni in legno o in
muratura, per macchine da attacco e da difesa, sempre più copiose
e più dispendiose, a misura del progresso dell’arte bellica, per
l’acquisto dei proiettili [72], e per le mille altre imprevedibili necessità.
Nè il dispendio si limitava alle somme, teoricamente e
ragionevolmente calcolabili. Ogni guerra implica di necessità un
mondo di spese irragionevoli, eccessive, illecite, eppure inevitabili. Il
disordine amministrativo ne decuplò in ogni caso il vertiginoso
ammontare. I quattrini spremuti dal sangue più vivo dei cittadini,
andarono, il maggior numero delle volte, a finire nello scialacquo dei
generali, nelle speculazioni dei trasmettitori del soldo, nelle truffe dei
fornitori, i quali, naturalmente, gareggiarono, come sempre, nel
segnare in conto spese non avvenute, soldati inesistenti, forniture
mai apparecchiate [73].
È possibile oggi, in base agli scarsi elementi che possediamo,
calcolare il vuoto spaventoso, che ogni guerra ed ogni previsione di
guerra dovevano scavare nel bilancio dell’antica Repubblica
ateniese? L’assedio di Samo di soli nove mesi (440-39) costò ad
Atene 8 o 9 milioni [74]; l’assedio biennale di Potidea (432-30), da 12
a 15 milioni di lire [75]; quello di Siracusa (415-413) superò di
parecchio queste cifre, toccando i 100 milioni [76]: tutta la prima fase
della guerra del Peloponneso — la così detta Guerra decennale
(431-21) — dovette ingoiare intorno ai 100 milioni [77]; la Guerra
deceleica (412-404) dovette importare circa 40 milioni; l’intera guerra
del Peloponneso costò non meno di 50.000 talenti, pari a circa 300
milioni [78]; le operazioni militari del 378-374, importarono 12.000.000
di lire [79]; altrettante la Guerra sociale del 357-55, di cui più di
9.000.000 circa per i soli stipendi ai mercenari [80]. Orbene, la gravità
di tutte queste cifre risalta agevolmente quando si confrontano con
quelle complessive del bilancio ateniese.
Atene, nell’età della sua maggiore floridezza, allorquando reggeva
indiscussa il primato delle nazioni elleniche, vantava un’entrata di
appena sei o, tutt’al più, di dodici milioni di lire [81]. Un solo anno di
guerra bastava quindi ad ingoiare ogni entrata del bilancio, ed è
perciò agevole intendere come, al momento della catastrofe
dell’impresa di Sicilia, nel settembre 413, tutte le risorse ateniesi
fossero state distrutte [82]. È facile spiegarsi come, due anni dopo,
alla vigilia della grande vittoria navale di Cizico (410), la Città non si
trovasse più in grado di pagare i suoi marinai e i suoi soldati [83]. Si
capisce come la Guerra del Peloponneso, così decisiva per
l’esistenza di Atene, fosse perduta due volte, nel 421 o nel 404, non
già per i successi militari dell’avversario, ma per la impossibilità
finanziaria, in cui la Città, dopo la disfatta di Antipoli, e dopo l’assai
più crudele sorpresa di Egospotamòs, si trovò di mettere in mare
una nuova flotta [84]. Riesce infine perfettamente legittimo concepire
quello che di fatto avvenne: come sforzi bellici, tanto superiori alle
capacità finanziarie, finissero col mettere in pericolo la incolumità,
l’esistenza storica dello Stato, anzi della nazione ateniese.

In che modo, con che mezzi, rischiando che terribili conseguenze, la


Repubblica ateniese tentò provvedere alle sue impellenti, inesauribili
necessità finanziarie?
Il bilancio dell’antica Atene, come quello di tutte le Repubbliche
greche indipendenti, era un bilancio di guerra. Esso non poggiava su
imposte regolari ed ordinarie, cui provvedessero la ricchezza e
l’attività dei cittadini. I suoi cespiti principali erano il tributo dei così
detti alleati, e le tasse doganali su tutte le merci all’entrata o
all’uscita dal territorio nazionale e le imposte per l’uso dei loro porti e
dei loro mercati. Era evidente la natura politica di cotali forme di
tassazione e, quindi, la loro intima connessione con la potenza del
Paese.
Il tributo degli alleati importava almeno la metà di tutte le entrate
ordinarie dello Stato ateniese. Ma a quali repentagli non era esso
posto dalla guerra, molte volte intrapresa per assicurarne, talora, per
ampliarne i gettiti!
Durante la rovinosa spedizione d’Egitto del 460-49 parecchie delle
città alleate di Atene si credettero autorizzate a interrompere i
periodici versamenti [85]. Nel 440, in seguito alla ribellione di Bisanzio
e di Samo, l’ampio distretto della Caria fu visto ridursi a sole trenta
città; la Ionia, stremata di municipi tributari, perdette ogni diritto
all’autonomia finanziaria, e numerose cittadine del Chersoneso e
della Calcidica, interruppero, le une, per breve ora, le altre,
definitivamente [86], i rispettivi annui contributi. Nel 436-35, in seguito
ai gravi malcontenti che avevano determinato l’invio di una colonia là
dove sorgerà Anfipoli, quel pericoloso esempio è imitato da cinque
altre cittadine della Tracia [87]. Nel 432-30, la rivolta di Potidea torna
a rattizzare la defezione e l’insurrezione [88]. E così, ad ogni alitare di
fronda, ad ogni insuccesso militare, ad ogni tentativo, ad ogni
pericolo che si disegna all’orizzonte contro Atene, l’impero vacilla
sulle sue basi, si sgretola, e un vuoto pauroso si apre sotto le
fondamenta economiche dello Stato. Nel 404, in seguito alla
miseranda catastrofe della Guerra peloponnesiaca, il contributo
federale vien meno del tutto, e lo Stato ateniese precipita nella
miseria più nera. Cinquant’anni dopo, al dissolversi della terza Lega
marittima, la tragedia si rinnova. Il contributo federale discende a 45
talenti, poco più di L. 250.000 [89], quante un tempo ne versava la
sola Samo, e la storia di Atene è finita per sempre.
Ma non a questo soltanto si limitavano, nei rapporti con gli alleati, i
contraccolpi delle guerre continue. Le sempre emergenti strettezze
finanziari e l’acuirsi del malcontento delle città alleate, che
accompagnava di pari passo ogni periodo di ostilità, costringevano
Atene ad usare della forza per ricondurre i debitori insolventi
all’osservanza dei loro obblighi federali [90]. La guerra provocava la
guerra! E, quando si pensa che prime a sottrarsi erano sempre le
città più lontane, poste alla periferia dell’impero, e che ogni parziale,
felice ribellione ingenerava, col contagio dell’esempio, nuove
ribellioni, apparirà evidente di qual danno, prossimo e remoto,
riescisse, per Atene, ogni più lieve guasto nello strumento medesimo
della sua potenza, politica ed economica.
Ma le voci delle entrate ateniesi, che la guerra comprometteva, non
si limitavano — dicemmo — al tributo degli alleati. Vi seguivano in
primo luogo le imposte doganali. Il commercio ateniese aveva un
valore suo proprio, quale fonte della ricchezza dell’erario [91].
L’abbiamo notato: la cinquantesima (la πεντηκοστή), ossia il dazio
del 2% sopra tutte le merci, imbarcate, sbarcate, reimbarcate al
Pireo, rendeva alla Repubblica, nei suoi giorni più difficili, circa
200.000 lire [92] all’anno. C’erano poi altre imposte doganali, di cui
diamo soltanto accenni oscuri e indefiniti [93]. Una imposta dell’1%
(una centesima) (ἑκατοστή), che non era forse l’unica del genere,
colpiva — pare — l’uso del porto, così come due dazi, difficili a
determinare con precisione, esatti rispettivamente dallo Stato e dai
Comuni, colpivano tutte le merci che venivano trasportate al pubblico
mercato, alla classica agorà [94]. Gli alleati di Atene — sappiamo —
erano obbligati a recarsi nella capitale dell’Attica per la trattazione e
la risoluzione delle loro controversie giudiziarie. C’era poi l’imposta
sulle vendite e sulle pubbliche aggiudicazioni di immobili:
l’eponion [95]. Or bene, anche questi varî cespiti del bilancio
ateniese, dipendevano, direttamente e indirettamente, dall’alterno
stato di pace e di guerra. La guerra li aveva creati o almeno ne
aveva, per Atene, elevato il gettito a proporzioni, che la maggior
parte delle città greche ignorava. Ma la guerra, con le sue crisi,
veniva ad annullarli o a scarnificarli profondamente. Essi
dipendevano dalla potenza della nazione che ne godeva, dalla sua
autorità sopra alleati e sopra forestieri; e questi non erano più tenuti
nè a dogane nè a spese giudiziarie fin dal primo giorno in cui, alla
soccombente repubblica veniva meno la forza necessaria a tanta
coercizione, o le invasioni straniere arrestavano la regolarità
dell’amministrazione della giustizia, o impedivano la possibilità
materiale dell’esazione [96].
Per tal modo, se in ogni tempo la guerra ha esercitato un’influenza
notevole sulla finanza degli Stati belligeranti, il particolare assetto
delle finanze delle grandi città greche, in intimo, organico rapporto
con la loro potenza politica, rendeva tale legame indissolubile. Non
soltanto ogni guerra ingigantiva le spese; ma il suo solo annunzio
bastava a far sì che le entrate precipitassero a proporzioni miserevoli
e insufficienti. La guerra bruciava ad ambo i capi l’esistenza
economica di quelle repubbliche: ne distruggeva gli utili, ne
rincrudiva i danni. Così il circolo di quella che fu la perenne tragedia
finanziaria degli staterelli greci era chiuso e saldato.

Tributi e imposizioni
straordinarie.

A rompere il malefico incantesimo, non v’era altro mezzo che


trasformare le basi stesse del bilancio ateniese: farne, di un bilancio
politico, un bilancio economico, al riparo, nella più alta misura
possibile, da tutti i contraccolpi della guerra. Fu il sogno di quel
singolare autore dell’operetta che ha per titolo Le entrate di Atene,
che si è voluto identificare con Senofonte, e che, in ogni modo, in
sulla metà del sec. IV, rappresentava il pensiero di una buona parte
dell’opinione pubblica ateniese, completamente aliena dal voler
ripetere le terribili esperienze dell’età che vi aveva proceduto [97]. Il
sogno del democratico autore dell’opuscolo è quello di trasformare lo
Stato ateniese in uno Stato industriale, in uno Stato imprenditore di
lavori e di speculazioni commerciali. Su questa particolare
concezione, per altro disegnata, idealmente, in modo perfetto,
incombe un pericoloso elemento utopistico [98]. Ma l’utopia celava
una profonda verità ed una purissima intenzione: quella di far vivere
gli Ateniesi, non più sui frutti dell’impero e della guerra, ma sui
proventi della pace.
Ma per la trasformazione della finanza ateniese in una finanza di
pace, occorrevano tempo, calma, abnegazione e, sopra tutto, uno
stato di tranquillità, che assai di rado Atene godette. Nella ressa
delle esigenze quotidiane, con la guerra permanente alle spalle, il
rimedio più rapido e più naturale era, invece, quello d’inasprire i
tributi: effetto e segno, insieme, dell’immiserirsi del pubblico erario e
causa di mali nuovi e impreveduti. Siamo alla vigilia del grandioso
conflitto col Peloponneso. La guerra di Samo (440-39), la difesa di
Corcira contro i Corinzi (433-32), la successiva spedizione in Tracia
e, finalmente, il tremendo assedio di Potidea (432-30), che inaugura
appunto la guerra, hanno importato una spesa di circa 4000 talenti
(= circa 24 milioni di lire) [99]. Occorse allora procedere ad una prima
revisione dei tributi degli alleati, in parte ribelli, e, com’era naturale, a
un rincrudimento dei medesimi [100]. Ma il rimedio è insufficiente, e,
mentre le spese incalzano, esso provoca nuove renitenze e nuove
defezioni. Dopo le entrate, le riserve del bilancio, di cui Pericle
andava così orgoglioso, vengono, come giammai, profondamente
intaccate [101]. E la guerra non s’arresta, anzi è d’uopo intensificarla
e passare decisamente all’offensiva. Intanto scoppia la rivolta di
Mitilene (428). Allora viene riesumata l’antica eisphorà ateniese, che
un tempo avea colpito le sole proprietà fondiarie dell’Attica, e ora
dovrà colpire, insieme, la ricchezza, mobiliare e immobiliare, del
Paese.
L’eisphorà del 428 è prelevata nella misura di 200 talenti (oltre un
milione di lire) [102]. Era un gettito cospicuo; ma una goccia d’acqua
nell’oceano dei bisogni infiniti. L’anno dopo, occorre tornare a
rivedere i tributi [103]. Pure, siccome la guerra non dà successi
notevoli, è pericoloso imporre agli alleati grandi sacrifizi. Bisogna
limitarsi quindi a piccoli ritocchi. Ma nel 425 si ha la felice
occupazione di Pilo, ossia l’invasione della Messenia, donde si
spera, in Atene, non sia difficile far saltare in pezzi il dominio
spartano sul Peloponneso. Allora, salito Cleone all’ufficio, che per
tanti anni era stato gloriosamente tenuto da Pericle, si osa decretare
un raddoppiamento dei tributi confederali. I 460 talenti, che Aristide
aveva loro imposti e che già erano stati portati a 600 [104] sono ora
fatti salire a circa 1000: sei milioni di lire [105]! Si sperava forse
sfuggire alla necessità di nuove eisphorai, così penose per il
cittadino ateniese, da lustri abituato a vivere delle entrate del suo
impero? Se tale voleva essere la speranza dei reggitori di Atene,
essa riuscì vana, chè, circa un anno dopo, intorno al 424, bisognò
ricorrere di nuovo, e, probabilmente, più di una volta,
all’eisphorà [106].
L’ombra di quella tregua, che il capo del partito conservatore
ateniese, Nicia, riuscì a segnare nel 421 con Sparta, interruppe la
continuata adozione di mezzi così eroici. Ma la speranza della pace
non era stata che un inganno, un breve agitato respiro per meglio
prepararsi alla nuova presa d’armi. Nel 418 si ha la guerra così detta
di Mantinea; nel 417, una nuova spedizione ateniese in Tracia; nel
416 una spedizione contro Melo.... Pure, ad Atene non si vuol più
sentir parlare di nuove eisphorai [107]; in compenso, non si esita, tra il
420 e il 417, a tornare ad aggravare il tributo dei pazienti alleati. Per
alcuni distretti, esso è senz’altro triplicato, per altri, l’aumento è forse
ancora più considerevole.... [108]. Si toccano in questo momento i
1200 o 1300 talenti annui, a cui mai fin adesso il contributo federale
era salito [109]. Era una entrata cospicua, che superava da sola
quella, a cui un tempo s’era levata la somma complessiva delle
entrate ateniesi. Ma i preparativi per la nuova guerra di Sicilia (415-
13) costringono a pensare alla possibilità di nuove eisphorai [110]. Poi
la guerra ha principio; si svolge paurosamente; affonda in un’enorme
catastrofe, e finisce con l’ingoiare tutto: entrate ordinarie ed entrate
straordinarie; vecchie riserve e nuovi proventi. Ma, poichè le ostilità
con Sparta si riaccendono, e si inaugura la terza fase della guerra
peloponnesiaca — la fatale êra della Guerra deceleica (413-04) —
occorre di nuovo dar mano a operazioni cesaree. Subito, nel 413, si
sostituisce il tributo federale annuo con la nota imposta del 5% su
tutte le merci esportate o importate nei territori federali [111]. Ora
stesso si raddoppiano i diritti d’uso del Pireo, dall’1% al 2%, e
l’antica centesima diviene la nuova cinquantesima; anche ora, forse,
viene raddoppiata la percentuale dei diritti sulle vendite [112]. Ma il
nuovo sforzo è sempre insufficiente ai bisogni: nel 410-09 viene
creata la decima (la δεκάτη), una imposta del 10% sul transito delle
merci sul Bosforo, che sarà per parecchio tempo l’unica risorsa
costante della cassa militare degli strateghi ateniesi [113], e, qualche
anno dopo, si deve, di nuovo, replicatamente ricorrere a ulteriori
eisphorai [114]. Finalmente, nel 404, la terribile guerra si chiude: la
distruzione della potenza ateniese è consumata.
Ma poco dopo, ancora una volta, si dà mano alle armi. L’egemonia
su tutta l’Ellade, che Sparta era riuscita ad imporre, sembra in
pericolo. Le città, un tempo sue alleate, e le sue suddite recenti si
sollevano contro la nuova dominatrice, che si dimostra assai
peggiore dell’antica. Divampa la Guerra corinzio-beotica (395-387).
Atene si getta di nuovo nella mischia, e perciò impone, a carico della
sua stremata cittadinanza, nuove contribuzioni straordinarie [115]. Gli
abili accordi di Sparta con la Persia e l’improvvisa pace di Antalcida
(387) frustrano le speranze della coalizione antispartana. Ma, di lì a
non molto, l’onnipotenza di Sparta pericola nuovamente. Tebe ha
dato il segnale della riscossa, e ad Atene si torna a lavorare per la
ricostituzione dell’antica lega marittima e per una nuova ripresa del
gigantesco duello con Sparta. Perciò si intima un’altra contribuzione
straordinaria, ma si vuole che la nuova eisphorà sia più grandiosa
delle precedenti; onde vi si apparecchiano basi più solide e strumenti
più sicuri degli antichi. Fu questo il capolavoro finanziario del 387-77,
che, dal primo arconte, pigliò il nome di Nausinico. Questa volta, non
solo furono senza dubbio riveduti e controllati i ruoli delle fortune
ateniesi, ma vennero istituiti dei gruppi di cittadini, delle società —
delle simmorie, come allora si disse — incaricate di riscuotere
l’imposta, e farsi in certo modo garanti di tale riscossione [116]. Pur
troppo, il censimento delle fortune ateniesi dette soli 5750 talenti di
fortune imponibili, pari a 35 milioni di lire [117]; e, poichè,
immediatamente dopo, veniva ordinata la prelevazione di almeno
300 talenti d’imposta [118], ne risulta che le fortune ateniesi vennero
colpite per oltre il 5% del loro ammontare totale, o, ragguagliandone
il reddito netto al tasso, certo elevato, del 10%, per oltre il 50% del
frutto annuo [119]!
L’indizione dell’eisphorà si rinnova due altre volte, fra il 376 e il 367.
Siamo adesso nel cuore del grande duello tebano-spartano, nel
quale, ancora una volta, entra di mezzo Atene, sforzandosi di
riconquistare, appoggiandosi ora all’una or all’altra, la parte
preminente, un tempo goduta, in Grecia. L’imposta sembra adesso
colpire il 10% della ricchezza censita [120]. Il che significa che in due
riprese vien assorbito l’intero reddito annuo dei cittadini ateniesi!
Nè le eisphorai del 376-67 sono le ultime della serie. I ricorsi di
quelle aborrite contribuzioni si ripeterono implacabili con l’incalzare
delle nuove necessità militari, col declinare del commercio e dei
redditi delle dogane, col crescere in sicurezza dei redditi federali.
L’età di Iseo, Lisia, Senofonte, Demostene [121], n’è tutta ingombra,
sì che, di tanta frequenza e della consueta od eventuale gravezza
dell’imposta, noi ritroviamo traccia nei lamenti di tutti gli oratori del
tempo.
Ma l’eisphorà diviene ancora più esosa, quando, nel 362, è
introdotta la speciosa innovazione della così detta proeisphorà, la
quale impone ai ricchi l’obbligo di anticipare all’erario le somme
votate dall’assemblea, salvo il diritto, che sempre rimaneva teorico,
di risarcirsene sui contribuenti [122]. Le conseguenze di questo
anticipo forzoso dovettero essere terribili, e, per averne un’idea noi
dobbiamo correre col pensiero ai decurioni del basso Impero
romano. Fin adesso ogni cittadino aveva pagato, sia pur duramente,
in proporzione della propria fortuna; d’ora innanzi i cittadini agiati
dovranno pagare senza limiti in proporzione della ricchezza propria e
del malvolere di tutti gli altri. Molte fortune, sulle quali lo Stato fin
adesso aveva potuto contare per i suoi bisogni, vennero ora
schiantate; altre famiglie fuggirono, imprecando, la patria, o
preferirono chiamare i nemici del di fuori contro gli usurpatori del di
dentro. E la Repubblica, per eccessivo studio di assicurare le sue
finanze di guerra, finì col trovare inaridite tutte le fonti della sua
prosperità.
Ma un altro sistema adoperava — come tutte le città greche a
regime democratico — Atene, per assicurare il suo bilancio: quello di
sforzare i cittadini agiati ad assumere taluni servizi pubblici. Fra
questi, agli scopi della guerra, primeggiava la trierarchia.
La trierarchia è il più costoso, e, dopo l’eisphorà, il più rigido [123] fra i
così detti doveri liturgici, cioè l’obbligo fatto ai cittadini più agiati di
sobbarcarsi per un anno all’armamento e alla manutenzione di una
trireme. Or bene, questo carico doveva, gli è evidente, riescire
sempre più gravoso col crescere della forza marittima ateniese, con
l’incalzare delle guerre, col ripetersi di disastrosi insuccessi, i quali
venivano senz’altro ad imporre l’urgenza e l’armamento di nuove
flotte [124].
Se si calcola inoltre che, dalla seconda metà del secolo V, le
maggiori imprese militari di Atene furono tutte marittime; che, almeno
fin dalla prima metà del IV, lo Stato non assicurava più, come nel V,
la mercede a tutto l’equipaggio, ma ai soli remiganti, dinanzi ai quali,
del resto, il trierarca rimaneva moralmente e direttamente
impegnato [125]; che fin d’allora neanche i componenti l’equipaggio o
i remiganti venivano forniti in numero sufficiente e di qualità
adeguata [126], per cui toccò più volte al trierarca, acquistarne dei
nuovi, stipendiarli e, magari, regalarli abbondantemente [127]; quando
si riflette che la difettosa legislazione, la lungaggine amministrativa,
la forzata taccagneria dell’erario vennero procurando ai trierarchi
brighe gravi e molteplici, sì da distorli dal reclamo di quegli arredi, cui
avevano diritto [128], s’intenderà facilmente come l’ottemperanza al
dovere della trierarchia potesse, durante una sola guerra, trascinare
alla perdizione gran numero di cospicue famiglie ateniesi [129].
Ma, come se ciò non bastasse, fin dalla Guerra del Peloponneso, i
trierarchi in carica, o, magari, uno solo fra essi, dovettero garantire
per il successore od il collega [130] anticipando, al solito, per periodi
di tempo indefiniti, le spese necessarie, e, finalmente, dopo il 357,
come già era avvenuto per la eisphorà, i trecento più ricchi ateniesi
furono, davanti allo Stato, fatti responsabili delle contribuzioni dei
rimanenti e tenuti all’anticipazione delle somme che sarebbero
occorse [131]. Ma, poichè il numero dei trierarchi venne
contemporaneamente fissato a 1200, la loro cifra per nave, e quindi
la ripartizione degli oneri, variò in proporzione inversa della quantità
delle triremi richieste.
Non si poteva non ricorrere alla menzogna ed alla frode. E i nuovi
liturgi — è il nome che il diritto pubblico ateniese assegnava a
questi, più o meno volontarî, contribuenti — furono più fortunati o più
abili dei futuri decurioni del basso Impero romano: appaltando a dei
terzi la trierarchia [132], riserbando per sè la riscossione dell’intera
somma dei soci meno abbienti, valendosi all’uopo dei mezzi più
odiosi; violando, in una parola, lo spirito della legge, finirono per
collaborare a quella rovina delle medie e delle piccole fortune
dell’Attica [133], che già altre cause non meno inscongiurabili,
andavano provocando.
Le eisphorai e l’obbligo della trierarchia non esaurivano la serie delle
liturgie e dei danni suscitati dalla necessità della guerra e gravanti
sui cittadini ateniesi. Il loro buon volere veniva altresì sollecitato dalle
contribuzioni volontarie, le così dette epidoseis [134], il cui
versamento, manifestatane l’intenzione, diveniva obbligatorio, e ogni
suo postumo rifiuto cadeva sotto le sanzioni penali comminate dalla
legge [135].
Riassumendo in breve giro di frasi gli effetti delle imposte
straordinarie di guerra, così Senofonte induceva Socrate ad
esprimersi: «Se scoppia una guerra, tu sarai nominato trierarca, e
con la trierarchia sarai gravato di tali e tanti gravami che non potrai
riuscire a sostenerli. E se opineranno che tu non ti comporti con
prodigalità, ti colpiranno con lo stesso rigore con cui se ti
sorprendessero a rubare le loro sostanze....» [136]. Nè si trattava di
amplificazioni retoriche. Sin dallo scorcio del secolo V, una nuova
taglia, rivoluzionaria sì, ma, pur troppo, regolare, venne a gravare sui
più abbienti: quella confisca dei beni, che avrebbe dovuto
rappresentare una legale punizione dei reati comuni o politici, e che,
invece, ora, diviene a poco a poco una delle entrate ordinarie del
bilancio ateniese. «Gli è più pericoloso», dirà Isocrate, «essere
tenuto per ricco che avere perpetrato un delitto.... Di questo si può
ottenere grazia o indulgenza, mentre la ricchezza condanna
irremissibilmente a perire....» [137]. E ad Atene, nei frangenti più
gravi, come negli anni più foschi della Rivoluzione francese le misure
giacobine non mancarono mai nell’ordine del giorno della vita
pubblica, sì che, attraverso le delazioni e le montature dei facili
sicofanti, il Moloch della guerra ingoiò facilmente, insieme con le
fortune, il sangue e l’onore dei cittadini [138].

Il disagio dei privati.

Tante numerose e gravose esigenze statali dovevano trovare, ogni


dì più, stremata la fonte naturale della loro esaudizione.
L’accanimento tributario, a cui i sempre nuovi bisogni trascinavano il
governo ateniese, ne era uno dei sintomi più notevoli. In seguito alla
crisi economica degli ultimi anni della guerra del Peloponneso, si era
— con misura eccezionale — consentito che a sostenere le liturgie
ordinarie, ad esempio, la così detta coregia, sopperissero magari
due persone insieme [139], e, nel 378 — vedemmo — si era ordinato
che l’imposta sul patrimonio venisse pagata, non già per individui,
ma per società [140]. In maniera analoga, la trierarchia cedette il
posto alla syntrierarchia, per la quale le spese dell’arredamento e
della manutenzione delle triremi furono distribuite fra due
cittadini [141], e più tardi — pare nel 357 — alla trierarchia, anch’essa
per società [142].
Ma nulla valse ad arrestare le conseguenze di uno stato di cose
insopportabile. Ad onta d’ogni ripiego, i trierarchi legali continuarono
a mancare, ed occorse ricorrere ai trierarchi volontari. Fin dal 357,
noi ne abbiamo esempi numerosi, e la loro apparizione è indizio
sicuro di vasto perturbamento economico [143].
Fa senso, oggi, rilevare quale modesta unità di misura fosse quella
che gli antichi Ateniesi adottavano per il concetto di ricchezza.
Ricchissimo era, a loro avviso, chi possedeva 100.000 lire di
capitale. Ricco chi ne possedeva soltanto 50 o 60.000 [144]. Questi,
se ne eccettui qualche patrimonio mostruoso, gl’indici più elevati
dell’agiatezza ateniese. Le idee economiche di questo grande
popolo di commercianti e di industriali rimangono in tal modo assai
lontane da quelle che della ricchezza individuale si formeranno i
Romani, per cui un reddito di mezzo milione faceva solo
mediocremente ricchi [145], e un paio di milioni costituivano a mala
pena il limite minimo di una ricca azienda domestica [146]. Or bene,
questo fu per grandissima parte un effetto della guerra in
permanenza. Nell’Attica antica ricorreva periodicamente un
fenomeno identico a quello che si ripeterà nel nostro Piemonte dei
secoli XVI-XIX. Per l’uno e per l’altro Paese, ogni guerra importava
anzi tutto un repulisti della proprietà mobiliare dei ricchi. «Come si
poteva arricchire», chiedeva del suo Paese Massimo D’Azeglio,
«con questo sacco dato periodicamente ad ogni casa, almeno un
paio di volte per secolo?» [147]. Come si poteva arricchire, chiederà
l’osservatore moderno, nell’Attica antica, con questa specie di
salasso, applicato normalmente ad ogni azienda domestica di dieci
in dieci anni, o di cinque in cinque?... A mezzo il secolo IV,
Demostene grida angosciato: «Un tempo la nostra città abbondava
di possedimenti e di denaro; adesso.... — bisogna dir così — ne
abbonderà nell’avvenire....» [148]. «Un tempo le nostre ricchezze
erano copiose e gli affari pubblici volgevano prosperamente.... Ora il
pubblico erario non dispone di somme bastevoli alle vettovaglie di un
giorno solo, e, quando bisogna accingersi a qualche impresa, non si
sa donde ricavare i mezzi occorrenti....» [149]. «In Atene», ribadiva
altrove angosciato, «quand’anche tutti gli oratori gridassero che il re
di Persia sta per piombarci addosso e che non è possibile
provvedere altrimenti, e quand’anche altrettanti indovini emettessero
eguale presagio, non che contribuire, non si mostrerebbe il becco
d’un quattrino e si sosterrebbe anzi di non possederne....» [150]. Era
terribilmente vero, e sembrava quasi inconcepibile: «tutte le
ricchezze ateniesi pubbliche e private erano esaurite!... [151]: «onde
la moltitudine dava in isvarioni, colossali e feroci, nel valutare
l’agiatezza dei migliori, che, dinanzi all’incalzare dei pubblici bisogni,
non poteva supporre ridotti a sì dolorose strettezze» [152].
Se tali erano le condizioni dei meno disagiati, assai più lacrimevoli
apparivano quelle della popolazione minuta della città e della
campagna. La grande massa dei contadini viene nel V-VI sec.
definitiva senz’altro come indigente [153]. «L’enorme maggioranza dei
nostri concittadini», scriveva Isocrate, «è così oppressa dal disagio,
che non uno solo vive tranquillo e libero da preoccupazioni, ma da
tutta la città si levano grida di dolore e di passione» [154].
Gli ultimi tempi innanzi l’êra volgare riboccano di impetrazioni di
sussidi dai sovrani così detti ellenistici e di ininterrotte oblazioni di
cittadini, di monarchi [155]. Gli Ateniesi, gli antichi signori della Grecia
sono discesi al livello di ciurma dolorosa di mendicanti, e nella
sfiorita metropoli dell’Ellade si anticipa, con le immancabili
distribuzioni periodiche di danaro e di frumento, lo spettacolo della
plebs urbana della Roma imperiale. Allorchè, nel 280, Atene voterà
onori e monumenti a Democare, uno fra i suoi più lodati cittadini, il
decreto che recherà il riassunto dei servizi, che gli erano valsi
l’insigne omaggio, non citerà se non una serqua di ambascerie,
proposte o disimpegnate, il cui frutto era stato il misero obolo di
qualche elemosina [156].
E, insieme coi donativi umilianti, figurano adesso, numerose, le
largizioni gratuite o semigratuite di cereali, che, come a Roma, così
in Grecia, servivano a prevenire e a sventare i tentativi insurrezionali
della parte più povera della cittadinanza, e costituivano un non lieve
salasso delle già spremute finanze dell’erario [157].
Non basta: la guerra era unica ed esclusiva cagione del gran
numero di orfani e di mutilati, che lo Stato deve ora via via
mantenere e retribuire. Gli orfani, gli invalidi, i mendicanti divennero
folla dopo la Guerra peloponnesiaca, e bisognò organizzare su basi
stabili questo servizio di pubblica assistenza [158].
Ma, mentre in alto e in basso s’impoveriva, le guerre continue, la
paralisi dell’attività industriale, l’incessante grandinare delle imposte
riducevano ogni giorno il numero degli schiavi e, peggio ancora, dei
forestieri, i così detti meteci che vivevano e lavoravano in città. Non
si trattava solo del danno, di cui taluni antichi finanzieri specialmente
si preoccupavano, cioè della perdita delle imposte, che padroni di
schiavi e stranieri erano tenuti a versare [159]. Non si trattava soltanto

You might also like