Alternatives to Perl
A mature general-purpose scripting language known for text processing, with the large CPAN module archive. The listings below can replace it for an important use case. Each note says what changes if you switch.
The original
Perl
A mature general-purpose scripting language known for text processing, with the large CPAN module archive.
Replacements
Listings that take over the same core job as Perl.
Python
A general-purpose programming language used for scripting, web backends, data analysis and machine learning.
Python offers readable syntax, a broad standard library and the default ecosystem for data and machine learning work, but it is slower for CPU-heavy tasks and its packaging can confuse.
Ruby
A dynamic, open-source programming language focused on simplicity and programmer productivity.
Ruby is a dynamic scripting language with readable, concise syntax suited to scripting and web development. It replaces Perl's CPAN archive with its own ecosystem under the Ruby license.
PHP
A general-purpose scripting language and interpreter especially suited to web development.
PHP is a scripting language aimed at server-side web development with frequent bug fix releases. Its official Linux and macOS downloads are source releases, so binaries usually come from package managers.
Lua
A lightweight, embeddable scripting language with a small standalone interpreter.
Lua is a small, embeddable scripting language that is quick to learn. It has a much smaller standard library, and the official site distributes only source code.
Similar software
Related functionality, not a direct replacement.
ack
A grep-like source code search tool built for programmers working in large code trees.
GNU sed
The GNU stream editor for filtering and transforming text from files or pipelines.
PowerShell
Microsoft's cross-platform automation shell, where commands pass structured objects to each other instead of lines of text.
Xonsh
A cross-platform shell whose language is a superset of Python 3 with shell commands built in.
Oils
A Unix shell project combining OSH, a bash-compatible shell, and YSH, a new shell language.