ΠΠ°Π·ΡΠ²Π°ΠΉΡΠ΅ ΠΈΡ Π΄ΡΠ΅Π²Π½ΠΈΠΌΠΈ, Π½ΠΎ Perl-ΡΠΊΡΠΈΠΏΡΡ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΡΠ²Π»ΡΡΡΡΡ ΠΎΡΠ»ΠΈΡΠ½ΡΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π·Π°Π΄Π°Ρ ΡΠΈΡΠ°Π΄ΠΌΠΈΠ½Π°.
ΠΡΠ»ΠΈ Π²Ρ Π½ΠΎΠ²ΠΈΡΠΎΠΊ ΠΈ Π·Π°Π΄Π°Π΅ΡΠ΅ΡΡ Π²ΠΎΠΏΡΠΎΡΠΎΠΌ, ΠΊΠ°ΠΊ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ Perl-ΡΠΊΡΠΈΠΏΡΡ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ Linux, ΠΏΡΠΎΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ:
perl script.pl
ΠΡΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π΅Ρ, Π΄Π°ΠΆΠ΅ Π΅ΡΠ»ΠΈ ΡΠ°ΠΉΠ» ΡΠΊΡΠΈΠΏΡΠ° Π½Π΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ ΠΊΠ°ΠΊ ΡΠΊΡΠΈΠΏΡ bash:
./script.pl
ΠΠΎ ΡΡΠΎΠ±Ρ ΡΡΠΎ ΡΡΠ°Π±ΠΎΡΠ°Π»ΠΎ, ΡΠ°ΠΉΠ» Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅, Π° ΡΠΊΡΠΈΠΏΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΡΠΈΠ½Π°ΡΡΡΡ Ρ Ρ ΡΡΠ±Π°Π½Π³Π°:
#!/usr/bin/perl
ΠΡΠ»ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΈ Perl ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅, Π²Ρ ΡΠΌΠΎΠΆΠ΅ΡΠ΅ Π»Π΅Π³ΠΊΠΎ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ ΡΠΊΡΠΈΠΏΡΡ Perl.
ΠΠ°ΠΊ ΡΠ·Π½Π°ΡΡ, ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ Π»ΠΈ Perl Π² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅?
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ, ΠΈ Π΅ΡΠ»ΠΈ Π²Ρ ΡΠ²ΠΈΠ΄ΠΈΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎ Π²Π΅ΡΡΠΈΠΈ, Π·Π½Π°ΡΠΈΡ, Π²ΡΠ΅ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅.
perl --version
ΠΡΠ»ΠΈ Π²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° Π²ΡΠ΄Π°Π΅Ρ ΠΎΡΠΈΠ±ΠΊΡ ΡΠΈΠΏΠ° “Perl command not found”, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π²Π°ΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ Π΄Π»Ρ Π΅Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ.
Π‘ΡΡΠ΅ΡΡΠ²ΡΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Perl Π² Linux.
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΏΠΈΡΠ°ΡΡ Perl-ΡΠΊΡΠΈΠΏΡ ΠΏΡΡΠΌΠΎ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π΅ ΠΈ ΡΡΠ°Π·Ρ ΠΆΠ΅ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ, Π΄Π°ΠΆΠ΅ Π½Π΅ ΡΠΎΡ ΡΠ°Π½ΡΡ.
ΠΠ°Π²Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΌΠΎΡΡΠΈΠΌ Π½Π° ΡΡΠΎ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ² Perl ΠΈΠ· ΡΠ°ΠΉΠ»ΠΎΠ²
ΠΡΠΎ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΠΌΡΠΉ ΡΠΏΠΎΡΠΎΠ± ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Perl-ΡΠΊΡΠΈΠΏΡΠΎΠ².
ΠΡ ΡΠΎΡ ΡΠ°Π½ΡΠ΅ΡΠ΅ ΡΠΊΡΠΈΠΏΡΡ ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΈΡ Π² IDE, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Eclipse, Π΅ΡΠ»ΠΈ ΡΠΊΡΠΈΠΏΡ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΈΠ»ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ°ΡΡΡΡ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ Perl-ΠΏΡΠΎΠ΅ΠΊΡΠ°.
Π€Π°ΠΉΠ» Perl Π½Π΅ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠΌΠ΅ΡΡ ΠΊΠ°ΠΊΠΎΠ΅-Π»ΠΈΠ±ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅, Π½ΠΎ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ “.pl” ΡΠ²Π»ΡΠ΅ΡΡΡ Ρ ΠΎΡΠΎΡΠ΅ΠΉ ΠΏΡΠ°ΠΊΡΠΈΠΊΠΎΠΉ.
Π‘ΠΎΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ touch ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
touch my_file.pl
ΠΠ΅Π΄Π°Π²Π½ΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» Π±ΡΠ΄Π΅Ρ ΠΏΡΡΡΡΠΌ, Ρ Π±ΡΠ΄Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡ Nano Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΡΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
nano my_file.pl
ΠΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠΊΡΠΈΠΏΡ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
#!/usr/bin/perl
print "Enter your name: ";
$name=<STDIN>;
print "Hello, ${name} ... you will soon be a Perl addict!";
print "\n";
Π‘ΠΎΡ ΡΠ°Π½ΠΈΡΠ΅ ΠΈ Π²ΡΠΉΠ΄ΠΈΡΠ΅ ΠΈΠ· ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Nano Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»Π°Π²ΠΈΡ Ctrl+X.
ΠΠ΅ Π½ΡΠΆΠ½ΠΎ Π΄Π°Π²Π°ΡΡ ΡΠΊΡΠΈΠΏΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
perl my_file.pl
ΠΡ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π°ΡΡ ΡΠΊΡΠΈΠΏΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΡΡΡΠΈΡΡ Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
./my_file.pl
ΠΠΎ Π΅ΡΠ»ΠΈ Π²Π°ΡΠ° ΡΠ΅Π»Ρ – ΠΏΡΠΎΡΡΠΎ ΠΏΡΠΎΠ²Π΅ΡΠΈΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ Perl, Π²Π°ΠΌ Π½Π΅ Π½ΡΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈ ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΡΠΊΡΠΈΠΏΡΡ.
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠ΄Π½ΠΎΡΡΡΠΎΡΠ½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Perl Π½Π° Linux
ΠΡΠΎ Π±ΡΡΡΡΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ Π±ΡΡΡΡΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Perl.
Π§ΡΠΎΠ±Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Ρ Perl, Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΡ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΡ:
perl -e <Perl code>
ΠΠ°ΠΌ ΠΏΡΠΎΡΡΠΎ Π½ΡΠΆΠ½ΠΎ ΠΎΠ±ΡΠ°ΡΠΈΡΡ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΊΠ°Π²ΡΡΠΊΠΈ Π² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠ΅ bash.
perl -e 'print "Hello world!\n";'
ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΎΠΏΡΠΈΠΉ -e.
ΠΠ΄Π½Π°ΠΊΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ Π»ΡΡΡΠΈΠΉ ΡΠΏΠΎΡΠΎΠ± Π·Π°ΠΏΠΈΡΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° Perl Π±Π΅Π· ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΡ Π² ΡΠ°ΠΉΠ».
ΠΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄ Perl Π±Π΅Π· ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΡ Π² ΡΠ°ΠΉΠ»Π΅
ΠΡΠΎΡ ΠΌΠ΅ΡΠΎΠ΄ Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡ ΠΎΠΆ Π½Π° ΡΠΎ, ΡΡΠΎ Π²Ρ Π²ΠΈΠ΄Π΅Π»ΠΈ Π²ΡΡΠ΅, Π½ΠΎ ΠΎΠ½ ΠΌΠ΅Π½Π΅Π΅ ΡΠ»ΠΎΠΆΠ΅Π½.
ΠΠ°ΠΏΡΡΡΠΈΡΠ΅ ΠΏΡΠΈΠ³Π»Π°ΡΠ΅Π½ΠΈΠ΅ Perl Ρ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠ°Π½Π΄ΠΎΠΉ:
perl
ΠΠ°ΡΠ΅ΠΌ Π½Π°ΠΏΠΈΡΠΈΡΠ΅ Π½ΡΠΆΠ½ΡΠΉ ΡΠΊΡΠΈΠΏΡ.
ΠΠ°ΠΊ ΡΠΎΠ»ΡΠΊΠΎ Π²Ρ Π·Π°ΠΊΠΎΠ½ΡΠΈΡΠ΅ ΠΏΠΈΡΠ°ΡΡ, Π²Ρ Π΄ΠΎΠ»ΠΆΠ½Ρ Π½Π°ΠΆΠ°ΡΡ CTRL + D, ΡΡΠΎΠ±Ρ ΠΏΠΎΠΊΠ°Π·Π°ΡΡ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΡ End of File (EOF).
Π‘ΠΊΡΠΈΠΏΡ Perl Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ ΡΡΠ°Π·Ρ ΠΏΠΎΡΠ»Π΅ Π½Π°ΠΆΠ°ΡΠΈΡ Ctrl+D.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ Ρ ΠΎΡΡ Π·Π°ΠΏΡΡΡΠΈΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΊΡΠΈΠΏΡ:
print "Enter your name: ";
$name=<STDIN>;
print "Hello, ${name} ... you will soon be a Perl addict!";
print "\n";
ΠΡΠΎΡ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΊΡΠΈΠΏΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ Π²Π²ΠΎΠ΄ ΠΎΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ (Π² Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΈΠΌΡ) ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΡΠΎ-ΡΠΎ Π²ΡΠΎΠ΄Π΅ ΡΡΠΎΠ³ΠΎ:
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ°ΠΊ Π²ΠΈΠ΄ΠΈΡΠ΅, Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ² Perl Π½ΠΏ Linux ΠΌΠ°Π»ΠΎ ΡΠ΅ΠΌ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΈΠΏΡΠΎΠ² ΠΎΠ±ΠΎΠ»ΠΎΡΠΊΠΈ bash.
Perl – ΠΌΠΎΡΠ½ΡΠΉ ΡΠ·ΡΠΊ ΡΠΊΡΠΈΠΏΡΠΎΠ², ΠΈ Ρ ΠΎΡΡ Python Π½Π°Π±ΠΈΡΠ°Π΅Ρ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΡΡΡ, ΠΎΠΏΡΡΠ½ΡΠ΅ ΡΠΈΡΠ°Π΄ΠΌΠΈΠ½Ρ ΠΏΠΎ-ΠΏΡΠ΅ΠΆΠ½Π΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ Π΅Π³ΠΎ Π΄Π»Ρ ΡΠ»ΠΎΠΆΠ½ΡΡ ΡΡΠ΅Π½Π°ΡΠΈΠ΅Π².
ΡΠΌ. ΡΠ°ΠΊΠΆΠ΅:
- π§Β ΠΠ°ΠΊ ΡΡΡΠ°Π½ΠΎΠ²ΠΈΡΡ Perl-ΠΌΠΎΠ΄ΡΠ»ΠΈ Π½Π° Linux
- π§Β ΠΠ°ΠΊ ΠΊΠΎΠ½Π²Π΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ JSON Π² CSV Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ΅Π»Π»Π° Linux / Unix
- π§Β ΠΠ°ΠΊ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠ΅ ΡΠ°ΠΉΠ»Ρ Π² Π²Π΅ΡΡ Π½ΠΈΠΉ ΠΈΠ»ΠΈ Π½ΠΈΠΆΠ½ΠΈΠΉ ΡΠ΅Π³ΠΈΡΡΡ
- π¦Β ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ Π²Π΅ΡΡΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠ° Π² ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Linux