Perl is an open source programming language created in 1987 by Larry Wall.
| #8on PLDB | 39Years Old | 170kRepos |
git clone https://github.com/Perl/perl5Perl is a family of high-level, general-purpose, interpreted, dynamic programming languages. The languages in this family include Perl 5 and Perl 6. Though Perl is not officially an acronym, there are various backronyms in use, including "Practical Extraction and Reporting Language". Read more on Wikipedia...
print("Hello, world!\n");
#!/usr/bin/perl
print "Hello World\n";# Hello world in perl
print "Hello World!\n";
#!/usr/local/bin/perl
print "Perl\n"
#!/usr/bin/perl
use strict;
use warnings;
use IO::Handle;
my ( $remaining, $total );
$remaining = $total = shift(@ARGV);
STDOUT->autoflush(1);
while ( $remaining ) {
printf ( "Remaining %s/%s \r", $remaining--, $total );
sleep 1;
}
print "\n";__DATA__ else lock qw __END__ elsif lt qx __FILE__ eq m s __LINE__ exp ne sub __PACKAGE__ for no tr and foreach or unless cmp ge package until continue gt q while CORE if qq xor do le qr y| Feature | Supported | Example | Token |
|---|---|---|---|
| Standard Library | ✓ | print "Hello, World!\n"; | |
| Scientific Notation | ✓ | ||
| Binary Literals | ✓ | # 0b[01]+(_[01]+)* | |
| Integers | ✓ | # \d+(_\d+)* | |
| Floats | ✓ | # (?i)(\d*(_\d*)*\.\d+(_\d*)*|\d+(_\d*)*\.\d+(_\d*)*)(e[+-]?\d+)? | |
| Hexadecimals | ✓ | # 0x[0-9A-Fa-f]+(_[0-9A-Fa-f]+)* | |
| Octals | ✓ | # 0_?[0-7]+(_[0-7]+)* | |
| Conditionals | ✓ | ||
| While Loops | ✓ | ||
| Print() Debugging | ✓ | ||
| Range Operator | ✓ | # https://users.cs.cf.ac.uk/Dave.Marshall/PERL/node38.html @array = (1..10); | |
| Operator Overloading | ✓ | ||
| Multiple Inheritance | ✓ | ||
| File Imports | ✓ | use Digest::MD5 'md5_hex'; | |
| Directives | ✓ | # In Perl, the keyword "use", which imports modules, can also be used to specify directives, such as use strict; or use utf8; use utf8; | |
| Here Document | ✓ | ||
| Line Comments | ✓ | # A comment | # |
| MultiLine Comments | ✓ | =begin comment This is all part of multiline comment. You can use as many lines as you like These comments will be ignored by the compiler until the next =cut is encountered. =cut | =begin =cut |
| Comments | ✓ | # A comment | |
| Regular Expression Syntax Sugar | ✓ | print "Hello World" =~ /(\w)/; | |
| Strings | ✓ | "hello world" | |
| Case Insensitive Identifiers | X | ||
| Semantic Indentation | X |