Π ΠΠ΅ΡΠ» Π½Π΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ° Π΄Π»Ρ ΠΊΠ»Π°ΡΡΠΎΠ². ΠΠΎ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠΌΠΈ ΠΊΠ»Π°ΡΡΠ°ΠΌΠΈ ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ. ΠΡΠΈ ΡΡΠΎΠΌ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π°ΠΌΠΈ, Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ°ΡΡΠΈΠ²Π° @ISA ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΡ Π² ΠΊΠ»Π°ΡΡΠ°Ρ . ΠΠΎΠ»Π΅Π΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΊΠ»Π°ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎ.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΎΠΈΡΠ΅ ΡΠΎΠ·Π΄Π°ΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΊΠ°ΠΊ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΏΡΠΈ ΡΡΠΎΠΌ Π²ΡΠ·ΡΠ²Π°ΡΡ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Ρ ΠΈΠΌΠ΅Π½ΠΈ ΠΌΠΎΠ΄ΡΠ»Ρ, Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΎΡΠΌΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ:
package ΠΈΠΌΡ_ΠΌΠΎΠ΄ΡΠ»Ρ; # Π’Π°ΠΊΠΎΠ΅ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ ΠΈΠΌΡ ΡΡΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π±Π΅Π· ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΡ '.pm'
require Exporter; # ΠΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½Π°Ρ ΡΡΡΠΎΠΊΠ° Π΄Π»Ρ ΡΠΊΡΠΏΠΎΡΡΠ° ΠΈΠΌΠ΅Π½
@ISA = qw(Exporter); # -//-
@EXPORT = qw(func1 func2) # ΠΠ΅ΡΠ΅ΡΠΈΡΠ»ΡΠ΅ΠΌ ΠΈΠΌΠ΅Π½Π° ΡΡΠ½ΠΊΡΠΈΠΉ. ΠΠ½ΠΈΠΌΠ°Π½ΠΈΠ΅ ! Π½Π΅Ρ Π·Π°ΠΏΡΡΠΎΠΉ!
@EXPORT_OK = qw( $ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ @ΠΌΠ°ΡΡΠΈΠ² ); # Π£ΠΊΠ°Π·Π°ΡΡ ΠΏΡΠ±Π»ΠΈΡΠ½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅, ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΈ Ρ.Π΄. Π΅ΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ
{ # ΠΠ°ΡΠ°Π»ΠΎ Π±Π»ΠΎΠΊΠ° ΠΌΠΎΠ΄ΡΠ»Ρ
.....
sub func1
........
sub func2
........
1;
}
ΠΠ°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» Ρ ΡΠ°ΡΡΠΈΡΠ΅Π½ΠΈΠ΅ΠΌ ".pm" Π΄ΠΎΠ»ΠΆΠ΅Π½ Ρ ΡΠ°Π½ΠΈΡΡΡΡ Π² ΠΎΠ΄Π½ΠΎΠΉ ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ ΠΠ΅ΡΠ». ΠΠ½ΠΈ ΠΏΠ΅ΡΠ΅ΡΠΈΡΠ»Π΅Π½Ρ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ @INC ΠΎΠ΄Π½ΠΎ ΠΈΠ· Π½ΠΈΡ ΠΎΠ±ΡΡΠ½ΠΎ "/usr/local/lib/perl/".
Π Π³ΠΎΠ»ΠΎΠ²Π½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Π²Ρ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅:
use ΠΈΠΌΡ_ΠΌΠΎΠ΄ΡΠ»Ρ;
ΠΈ Π²Π°ΠΌ ΡΡΠ°Π½ΠΎΠ²ΡΡΡΡ Π΄ΠΎΡΡΡΠΏΠ½Ρ ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ.
Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΎΠ±ΡΡΠ½ΠΎ ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Ρ Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠ²ΠΎΠΌ ΠΠ΅ΡΠ» ΠΎΠ½ΠΈ ΡΠ°Π·Π΄Π΅Π»ΡΡΡΡΡ Π½Π° pragma Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ (ΡΠ°Π±ΠΎΡΠ°ΡΡ ΠΊΠ°ΠΊ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Ρ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΡ) ΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
ΠΠ°Π½Π½ΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡ ΠΊΠ°ΠΊ:
use ΠΈΠΌΡ;
ΠΊΠΎΠ³Π΄Π° Ρ ΠΎΡΡΡ Π²ΠΊΠ»ΡΡΠΈΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ ΠΈ
no ΠΈΠΌΡ;
ΠΊΠΎΠ³Π΄Π° Π²ΡΠΊΠ»ΡΡΠΈΡΡ.
Π ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ Π½Π°Π±ΠΎΡ Π²Ρ ΠΎΠ΄ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠ΅ pragma:
diagnostics β ΠΠΊΠ»ΡΡΠΈΡΡ ΡΠ΅ΠΆΠΈΠΌ ΡΠ°ΡΡΠΈΡΠ΅Π½Π½ΠΎΠΉ Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ.
integer β ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π»ΠΎΡΠΈΡΠ»Π΅Π½Π½ΡΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΠΊΡ.
less β Π Π΅ΠΆΠΈΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΎΡΠ°.
overload - Π Π΅ΠΆΠΈΠΌ ΠΏΠ΅ΡΠ΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ².
sigtrap - Π Π΅ΠΆΠΈΠΌ ΡΠ»Π΅ΠΆΠ΅Π½ΠΈΡ Π·Π° ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡΠΌΠΈ.
strict - Π Π΅ΠΆΠΈΠΌ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Β«ΠΎΠΏΠ°ΡΠ½ΡΡ Β» ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠΎΠ².
subs - Π Π΅ΠΆΠΈΠΌ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π΄Π΅ΠΊΠ»Π°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
AnyDBM_File ΠΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ ΡΠΈΠΏΠ°ΠΌΠΈ Π±Π°Π· Π΄Π°Π½Π½ΡΡ .
AutoLoader ΠΠ°Π³ΡΡΠ·ΠΊΠ° Π² ΠΏΠ°ΠΌΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠΎΠ»ΡΠΊΠΎ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠ·ΠΎΠ²Π°.
AutoSplit Π Π°Π·Π΄Π΅Π»ΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»Ρ Π΄Π»Ρ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠΈ.
Benchmark ΠΠ½Π°Π»ΠΈΠ· ΡΠΊΠΎΡΠΎΡΡΠΈ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Carp ΠΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΠΎΠ± ΠΎΡΠΈΠ±ΠΊΠ°Ρ .
Config ΠΠΎΡΡΡΠΏ ΠΊ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ ΠΠ΅ΡΠ».
Cwd ΠΠΎΠ»ΡΡΠΈΡΡ ΠΈΠΌΡ ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠ°Π±ΠΎΡΠ΅ΠΉ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ.
DB_File Π Π°Π±ΠΎΡΠ° Ρ Π±Π°Π·ΠΎΠΉ Π΄Π°Π½Π½ΡΡ ΡΠΎΡΠΌΠ°ΡΠ° Berkley DB.
Devel::SelfStubber Π Π΅ΠΆΠΈΠΌ ΠΎΡΠ»Π°Π΄ΠΊΠΈ Π°Π²ΡΠΎΠ·Π°Π³ΡΡΠ·ΠΊΠΈ.
DynaLoader ΠΠΈΠ½Π°ΠΌΠΈΡΠ΅ΡΠΊΠ°Ρ Π·Π°Π³ΡΡΠ·ΠΊΠ° Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ C.
English ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»ΠΈΠ½Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π° Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ .
Env ΠΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΡ
Exporter ΠΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠΊΡΠΏΠΎΡΡ/ΠΈΠΌΠΏΠΎΡΡ Π΄Π»Ρ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ.
ExtUtils::LibList ΠΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ.
ExtUtils::MakeMaker Π‘ΠΎΠ·Π΄Π°Π΅Ρ ΡΠ°ΠΉΠ» ΠΏΡΠΎΠ΅ΠΊΡΠ° Makefile
ExtUtils::Manifest ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΡΠ°ΠΉΠ»Π° MANIFEST
ExtUtils::Mkbootstrap ΠΡΠΈΠΌΠ΅Π½Π΅ΠΈΠ΅ ΡΠ°ΠΉΠ»Π° Π½Π°ΡΠ°Π»ΡΠ½ΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π΄Π»Ρ DynaLoader.
Fcntl ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΊΠ°ΠΊ ΠΈ Π² Π‘ Fcntl.h
File::Basename Π‘ΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ ΡΠ°Π·Π±ΠΎΡ ΡΠΏΠ΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠ°ΠΉΠ»Π°.
File::CheckTree ΠΡΡΡΡΡΠΉ ΠΏΡΠΎΡ ΠΎΠ΄ ΠΏΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ Π΄ΠΈΡΠΊΠ°.
File::Find ΠΡΡΡΡΡΠΉ ΠΏΠΎΠΈΡΠΊ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΏΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ.
FileHandle ΠΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΡΠΌ ΡΠ°ΠΉΠ»ΠΎΠ².
File::Path Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅/ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ.
Getopt::Long Π Π°ΡΡΠΈΡΠ΅Π½Π½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΠΏΡΠΈΠΉ.
Getopt::Std Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ° ΠΎΠΏΡΠΈΠΉ.
I18N::Collate Π‘ΡΠ°Π²Π½Π΅Π½ΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ΄ΠΈΡΠΎΠ²ΠΊΠΈ.
IPC::Open2 ΠΠ΅ΠΆΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΠΉ ΠΎΠ±ΠΌΠ΅Π½ ΠΏΠΎ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ.
IPC::Open3 ΠΠ΅ΠΆΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ½ΡΠΉ ΠΎΠ±ΠΌΠ΅Π½ ΠΏΠΎ ΡΡΠ΅Π½ΠΈΡ, Π·Π°ΠΏΠΈΡΠΈ, ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΠΊΠΈ ΠΎΡΠΈΠ±ΠΎΠΊ.
Net::Ping Π’Π΅ΡΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Ρ ΠΎΡΡΡ.
POSIX Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ ΠΏΠΎ IEEE Std 1003.1
SelfLoader ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΡΡΠ½ΠΊΡΠΈΠΉ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎ Π²ΡΠ·ΠΎΠ²Ρ.
Socket ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡ ΠΈ ΠΊΠΎΠ½ΡΡΠ°Π½Ρ ΠΊΠ°ΠΊ ΠΈ Π² Π‘ socket.h
Test::Harness Π‘ΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΡΠ΅ΡΡ Ρ ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠΎΠΉ.
Text::Abbrev Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ°Π±Π»ΠΈΡΡ ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠΉ ΠΏΠΎ ΡΠΏΠΈΡΠΊΡ.
ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Π·Π°ΠΏΠΈΡΠ°Π½ΠΎ Π² ΡΠ°ΠΌΠΎΠΌ ΡΠ°ΠΉΠ»Π΅.
ΠΡΠΎΠ³ΡΠ°ΠΌΠΈΡΡΡ Π²ΡΠ΅Π³ΠΎ ΠΌΠΈΡΠ° ΡΠ°Π±ΠΎΡΠ°ΡΡΠΈΠ΅ Ρ ΠΠ΅ΡΠ» ΡΠΎΠ·Π΄Π°Π»ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ CPAN. ΠΠ½Π° Π΄ΠΎΡΡΡΠΏΠ½Π° ΡΠ΅ΡΠ΅Π· ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΠΏΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ.
Π Π½ΠΈΠΌ ΠΎΡΠ½ΠΎΡΡΡΡΡ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΎΡΡ, ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΡΡ, ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΡ ΡΠ°Π±ΠΎΡΡ Ρ Π±Π°Π·Π°ΠΌΠΈ Π΄Π°Π½Π½ΡΡ , ΡΠ°Π±ΠΎΡΠ° Π² ΡΠ΅ΡΠΈ, Ρ ΡΠ°ΠΉΠ»Π°ΠΌΠΈ, ΠΠ½ΡΠ΅ΡΠ½Π΅Ρ-Π±ΡΠΎΡΠ·Π΅ΡΡ, ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΠΎΠΈΡΠΊΠ°, ΠΎΠ³ΡΠΎΠΌΠ½ΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ CGI ΡΠΊΡΠΈΠΏΡΠΎΠ² Π΄Π»Ρ Web ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² ΠΈ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΡΡΠ³ΠΎΠ΅. Π‘ΠΏΠΈΡΠΎΠΊ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ CPAN ΡΠ΅ΡΠ²Π΅ΡΠΎΠ² Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΠΉΡΠΈ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ.
Π€ΠΎΡΠΌΠ°ΡΡ
Π ΠΠ΅ΡΠ» ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠ΄ΠΎΠ±Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΎΡΡΠ΅ΡΠΎΠ². Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° format Π²Ρ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ, ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΏΠΎΠ»Π΅ΠΉ, ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΠ΅ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π½Π° Π»ΠΈΡΡΠ΅ Π² ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠΉ ΡΠΎΡΠΌΠ΅. ΠΠ°ΡΠ΅ΠΌ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Ρ write(ΡΠ°ΠΉΠ») ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ».
ΠΠΏΠ΅ΡΠ°ΡΠΎΡ ΡΠΎΡΠΌΠ°Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΉ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡ:
format ΠΈΠΌΡ =
FORMLIST
.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠΎ ΡΡΠΎ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΡΠΌΠ°ΡΠ° ΠΈΠ΄Π΅Ρ ΠΏΠΎΡΠ»Π΅ ΡΡΡΠΎΠΊΠΈ format ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ '.' Π² Π½Π°ΡΠ°Π»Π΅ ΡΡΡΠΎΠΊΠΈ.
ΠΠ΄Π΅ΡΡ 'ΠΈΠΌΡ' β ΡΡΠΎ ΠΈΠΌΡ ΡΠΎΡΠΌΠ°ΡΠ°, ΡΠ°ΠΊΠΎΠ΅ ΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ ΠΈΠΌΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°.
ΠΡΠ»ΠΈ 'ΠΈΠΌΡ' ΠΎΡΡΡΡΡΠ²ΡΠ΅Ρ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ β STDOUT.
FORMLIST β ΡΡΠΎ ΡΡΡΠΎΠΊΠΈ ΡΠΎΡΠΌΠ°ΡΠ°. ΠΠ½ΠΈ Π±ΡΠ²Π°ΡΡ ΡΡΠ΅Ρ ΡΠΈΠΏΠΎΠ²:
1. ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ. Π‘ΡΡΠΎΠΊΠ° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ '#'.
2. ΠΠΏΠΈΡΠ°ΡΠ΅Π»Ρ ΠΏΠΎΠ»Π΅ΠΉ Π΄Π°Π½Π½ΡΡ (picture).
3. Π‘ΡΡΠΎΠΊΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Π΅ΠΌ.
ΠΠΏΠΈΡΠ°ΡΠ΅Π»Ρ β ΡΡΠΎ ΡΡΡΠΎΠΊΠ° ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π² Π²ΠΈΠ΄Π΅ Β«ΠΊΠ°ΠΊ Π΅ΡΡΡΒ» Π·Π° ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½Π½ΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ² ΠΏΠΎΠ»Π΅ΠΉ Π΄Π°Π½Π½ΡΡ . ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΠΏΠΎΠ»Π΅ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Π»ΠΈΠ±ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ '@' Π»ΠΈΠ±ΠΎ '^'.
Π ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠ΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΠΈΠ΄ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΡΡ Π΄Π°Π½Π½ΡΡ , Π½ΠΎ Π½Π΅ ΠΈΠΌΠ΅Π½Π° ΠΏΠΎΠ»Π΅ΠΉ ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ .
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ ΡΡΡΠΎΠΊΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ»Π΅Π΄ΡΠ΅Ρ Π²ΡΠ΅Π³Π΄Π° ΠΏΠΎΡΠ»Π΅ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Ρ ΠΈ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠΌΠ΅Π½Π° ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈΠ»ΠΈ ΡΠ΅Π»ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π² ΠΏΠΎΡΡΠ΄ΠΊΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌ ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Π΅ΠΌ.
Π Π°Π·ΠΌΠ΅Ρ ΠΈ Π²ΠΈΠ΄ ΠΏΠΎΠ»Ρ Π² ΠΎΠΏΠΈΡΠ°ΡΠ΅Π»Π΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΡΡΡ ΡΠ»Π΅Π΄ΡΡΡΠΈΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ:
Β«>>>>Β» β Π²ΡΡΠΎΠ²Π½ΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΡΠ°Π²ΠΎΠΌΡ ΠΊΡΠ°Ρ.
Β«<<<<Β» β -//β ΠΏΠΎ Π»Π΅Π²ΠΎΠΌΡ.
Β«||||Β» β -//β ΠΏΠΎ ΡΠ΅Π½ΡΡΡ.
Β«####.###Β» β ΡΠΎΡΠΌΠ°Ρ ΡΠΈΡΠ»Π° Ρ ΡΠΎΡΠΊΠΎΠΉ.
Β«@*Β» β ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΎΡΠ½Π°Ρ ΡΡΡΠΎΠΊΠ°. ΠΠ°Π½Π½ΡΠ΅ Π²ΡΠ²ΠΎΠ΄ΡΡΡΡ Π² ΠΊΠΎΠ»ΠΎΠ½ΠΊΡ.
Π Π°Π·ΠΌΠ΅Ρ ΠΏΠΎΠ»Ρ ΡΠ°Π²Π΅Π½ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
Π‘ΠΈΠΌΠ²ΠΎΠ» '^' Π² Π½Π°ΡΠ°Π»Π΅ ΠΏΠΎΠ»Ρ ΠΈΠΌΠ΅Π΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅.
Π’Π°ΠΊ:
Β«^####Β» β ΠΏΡΡΡΠΎ Π΅ΡΠ»ΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Π½Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π°.
Π΄Π»Ρ ΡΡΡΠΎΡΠ½ΠΎΠ³ΠΎ ΡΠΊΠ°Π»ΡΡΠ°:
Β«^<<<<<Β» β ΠΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ², Π° Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° ΠΎΡΡΠ°ΡΠΎΠΊ Π²ΡΠ²ΠΎΠ΄ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠΈΡΡ Π½Π° ΡΠ»Π΅Π΄ΡΡΡΠΈΡ ΡΡΡΠΎΠΊΠ°Ρ ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΈΠΌΠ΅ΡΡ ΡΠ²ΠΎΠΈ ΠΏΠΎΠ»Ρ.
ΠΡΠΈΠΌΠ΅Ρ:
#!/usr/local/bin/perl
#
# ΠΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΏΠ΅ΡΠ°ΡΠΈ ΠΏΡΠΈΠ³Π»Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ Π±ΠΈΠ»Π΅ΡΠ°
#
$ΠΊΠΎΠΌΡ = Β«Π§Π°ΠΏΠ°Π΅Π²Ρ ΠΠ°ΡΠΈΠ»ΠΈΡ ΠΠ²Π°Π½ΠΎΠ²ΠΈΡΡΒ»;
$ΠΎΡ_ΠΊΠΎΠ³ΠΎ = Β«ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΠΠΒ»;
$Π°Π΄ΡΠ΅Ρ = Β«ΠΠΎΡΠΊΠ²Π°, ΡΠ». ΠΠ΅ΡΡΠΎΠ²ΠΊΠ°, Π΄ 38Β»;
$ΡΠ΅ΠΊΡΡ = "Π£Π²Π°ΠΆΠ°Π΅ΠΌΡΠΉ ΠΠ°ΡΠΈΠ»ΠΈΠΉ ΠΠ²Π°Π½ΠΎΠ²ΠΈΡ! ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΠΠ ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ³Π»Π°ΡΠΈΡΡ
ΠΠ°Ρ ΠΈ ΠΠ°ΡΠΈΡ Π±Π»ΠΈΠ·ΠΊΠΈΡ Π½Π° ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡ Π½Π°ΡΠΈΡ Π½ΠΎΠ²ΡΡ Ρ ΡΠΎΠΌΠΎΠ²ΡΡ ΡΠ°ΠΏΠΎΠ³, ΡΠ΄Π΅Π»Π°Π½Π½ΡΡ
Π½Π° ΡΡΠΎΠ²Π½Π΅ ΠΌΠΈΡΠΎΠ²ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ² ΠΊΠ°ΡΠ΅ΡΡΠ²Π° ΠΈ Π΄ΠΈΠ·Π°ΠΉΠ½Π°.";
format STDOUT =
Π Π Π Π Π Π Π‘ Π Π’ Π Π Π¬ Π Π« Π Π Π Π Π Π’
ΠΠΎΠΌΡ: @<<<<<<<<<<<<<<<<<<<<<<<<<< | ^|||||||||||||||||||||||||||||||
$ΠΊΠΎΠΌΡ, $ΡΠ΅ΠΊΡΡ
| ^|||||||||||||||||||||||||||||||
$ΡΠ΅ΠΊΡΡ
ΠΡ ΠΊΠΎΠ³ΠΎ: @<<<<<<<<<<<<<<<<<<<<<<< | ^|||||||||||||||||||||||||||||||
$ΠΎΡ_ΠΊΠΎΠ³ΠΎ, $ΡΠ΅ΠΊΡΡ
| ^|||||||||||||||||||||||||||||||
$ΡΠ΅ΠΊΡΡ
ΠΠ΄ΡΠ΅Ρ:@<<<<<<<<<<<<<<<<<<<<<<<<<< | ^|||||||||||||||||||||||||||||||
$Π°Π΄ΡΠ΅Ρ, $ΡΠ΅ΠΊΡΡ
| ^|||||||||||||||||||||||||||||||
$ΡΠ΅ΠΊΡΡ
| ^|||||||||||||||||||||||||||||||
$ΡΠ΅ΠΊΡΡ
| ^|||||||||||||||||||||||||||||||
$ΡΠ΅ΠΊΡΡ
ΠΡΠΏΠ΅ΡΠ°ΡΠ°Π½ΠΎ Π² ΡΠΈΠΏΠΎΠ³ΡΠ°ΡΠΈΠΈ ΠΠ’Π£ 38
.
write(); # ΠΡΠ²ΠΎΠ΄ Π΄Π°Π½Π½ΡΡ .
exit 0; # ΠΠΎΠ½Π΅Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ
Π Π΅Π·ΡΠ»ΡΡΠ°Ρ:
Π Π Π Π Π Π Π‘ Π Π’ Π Π Π¬ Π Π« Π Π Π Π Π Π’
ΠΠΎΠΌΡ: Π§Π°ΠΏΠ°Π΅Π²Ρ ΠΠ°ΡΠΈΠ»ΠΈΡ ΠΠ²Π°Π½ΠΎΠ²ΠΈΡΡ | Π£Π²Π°ΠΆΠ°Π΅ΠΌΡΠΉ ΠΠ°ΡΠΈΠ»ΠΈΠΉ ΠΠ²Π°Π½ΠΎΠ²ΠΈΡ!
| ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΠΠ ΠΈΠΌΠ΅Π΅Ρ ΡΠ΅ΡΡΡ
ΠΡ ΠΊΠΎΠ³ΠΎ: ΠΠΎΠΌΠΏΠ°Π½ΠΈΡ ΠΠΠ | ΠΏΡΠΈΠ³Π»Π°ΡΠΈΡΡ ΠΠ°Ρ ΠΈ ΠΠ°ΡΠΈΡ Π±Π»ΠΈΠ·ΠΊΠΈΡ
| Π½Π° ΠΏΡΠ΅Π·Π΅Π½ΡΠ°ΡΠΈΡ Π½Π°ΡΠΈΡ Π½ΠΎΠ²ΡΡ
ΠΠ΄ΡΠ΅Ρ:ΠΠΎΡΠΊΠ²Π°, ΡΠ». ΠΠ΅ΡΡΠΎΠ²ΠΊΠ°, Π΄ 38 | Ρ ΡΠΎΠΌΠΎΠ²ΡΡ ΡΠ°ΠΏΠΎΠ³, ΡΠ΄Π΅Π»Π°Π½Π½ΡΡ Π½Π°
| ΡΡΠΎΠ²Π½Π΅ ΠΌΠΈΡΠΎΠ²ΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ²