ΠΠ½ΠΎΠ³Π΄Π° ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½ΡΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΠΎΡΠΊΡΠ΄Π° ΠΎΠ½Π° Π±ΡΠ»Π° Π·Π°ΠΏΡΡΠ΅Π½Π°, ΡΡΠΎΠ±Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ Π΅Π³ΠΎ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°ΠΌ. ΠΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ Bin, ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΠΌΠ°Ρ Π² ΠΌΠΎΠ΄ΡΠ»Π΅ FindBin ΠΈΠ· ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠΌΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, ΠΈΠ· ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π±ΡΠ»Π° Π·Π°ΠΏΡΡΠ΅Π½Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
use FindBin; # ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ FindBin my $program_start_dir = $FindBin::Bin; # ΡΡΠ°ΡΡΠΎΠ²ΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³
Perl ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π½Π°Π±ΠΎΡ ΡΡΠ½ΠΊΡΠΈΠΉ, ΠΎΡΠ³Π°Π½ΠΈΠ·ΡΡΡΠΈΠΉ ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΡΡΠ΅Π½ΠΈΡ Π·Π°ΠΏΠΈΡΠ΅ΠΉ ΡΠ°ΠΉΠ»Π°. ΠΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΎΠ±ΡΠΊΠ½ΠΎΠ²Π΅Π½Π½ΡΠ΅ ΡΠ°ΠΉΠ»Ρ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ, Π²ΠΊΠ»ΡΡΠ°Ρ Π²Π»ΠΎΠΆΠ΅Π½Π½ΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ, ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ (ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΠΌΡΠΉ ΠΎΠ΄Π½ΠΎΠΉ ΡΠΎΡΠΊΠΎΠΉ) ΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ (ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅ΠΌΡΠΉ Π΄Π²ΡΠΌΡ ΡΠΎΡΠΊΠ°ΠΌΠΈ).
ΠΠ΅ΡΠ΅Π΄ ΡΡΠ΅Π½ΠΈΠ΅ΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π΅Π³ΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΠΎΡΠΊΡΡΡΡ. Π€ΡΠ½ΠΊΡΠΈΡ opendir() ΠΎΡΠΊΡΡΠ²Π°Π΅Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΏΠΎ Π΅Π³ΠΎ ΠΈΠΌΠ΅Π½ΠΈ ΠΈ Π°ΡΡΠΎΡΠΈΠΈΡΡΠ΅Ρ Π΅Π³ΠΎ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΎΡΠΎΠΌ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°. Π€ΡΠ½ΠΊΡΠΈΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΈΡΠ»ΠΎ 1 ΠΏΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ ΠΎΡΠΊΡΡΡΠΈΠΈ, undef - ΠΏΡΠΈ Π½Π΅ΡΠ΄Π°ΡΠ΅. ΠΠΎΡ ΡΠ°ΠΊ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΡΠΊΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΈ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΎΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° DIR_HANDLE:
$ok = opendir DIR_HANDLE, $directory_name;
Π‘ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΉ ΡΡΠΈΠ»Ρ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ ΠΏΡΠΈ ΠΎΡΠΊΡΡΡΠΈΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° ΡΠΎΡ ΡΠ°Π½ΡΡΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΎΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π² ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ. ΠΡΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°Π΅Ρ ΠΎΠ±Π»Π°ΡΡΡ Π΅Π³ΠΎ Π²ΠΈΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ΅ΠΊΡΡΠΈΠΌ Π±Π»ΠΎΠΊΠΎΠΌ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΎΠΉ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΎΡΠ° Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ°ΡΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊ:
$ok = opendir my $dir_handle, $directory_name;
Π€ΡΠ½ΠΊΡΠΈΡ closedir() Π·Π°ΠΊΡΡΠ²Π°Π΅Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³, ΠΎΡΠΊΡΡΡΡΠΉ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ opendir(), ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΎΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°. ΠΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΈΡΠ»ΠΎ 1 ΠΏΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΌ Π·Π°ΠΊΡΡΡΠΈΠΈ ΠΈΠ»ΠΈ undef - ΠΏΡΠΈ Π½Π΅ΡΠ΄Π°ΡΠ΅. Π₯ΠΎΡΡ ΠΎΡΠΊΡΡΡΡΠ΅ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΊΡΡΠ²Π°ΡΡΡΡ ΠΏΠΎ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ, ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ Π²ΡΠ΅ ΠΆΠ΅ Π΄Π΅Π»Π°ΡΡ ΡΡΠΎ ΡΠ²Π½ΠΎ:
$ok = closedir $dir_handle; # Π·Π°ΠΊΡΡΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³
Π€ΡΠ½ΠΊΡΠΈΡ readdir() Π² ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΡΠΈΡΠ°Π΅Ρ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Ρ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ undef, ΠΊΠΎΠ³Π΄Π° Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΡΠΈΡΠ°Π½ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
my $file_name = readdir $dir_handle;
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Π² ΡΠΈΠΊΠ»Π΅, ΠΈΡΠΊΠ»ΡΡΠ°Ρ ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΈ ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΡΠΊΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈ:
while (my $file_name = readdir $dir_handle) { if ($file_name ne '.' && $file_name ne '..') { print "ΠΊΠ°ΡΠ°Π»ΠΎΠ³ $file_name\n" if -d $file_name; print "ΡΠ°ΠΉΠ» $file_name\n" if -f $file_name; } }
Π ΡΠΏΠΈΡΠΎΡΠ½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΡΡΠ½ΠΊΡΠΈΡ readdir() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, ΡΡΠΎ ΡΠ°ΡΡΠΎ Π±ΡΠ²Π°Π΅Ρ Π²Π΅ΡΡΠΌΠ° ΡΠ΄ΠΎΠ±Π½ΠΎ:
@file_names = readdir $dir_handle; # ΡΡΠΈΡΠ°ΡΡ Π²Π΅ΡΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³
ΠΠ½ΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ, Π½Π΅ Π·Π°ΠΊΡΡΠ²Π°Ρ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, Π½Π°ΡΠ°ΡΡ Π΅Π³ΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΡ ΡΠ½Π°ΡΠ°Π»Π°. Π€ΡΠ½ΠΊΡΠΈΡ rewinddir() ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΡΡΠ΅Π½ΠΈΡ Π² Π½Π°ΡΠ°Π»ΠΎ ΠΎΡΠΊΡΡΡΠΎΠ³ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°, ΠΏΠΎΡΠ»Π΅ ΡΠ΅Π³ΠΎ ΡΡΠ΅Π½ΠΈΠ΅ Π½Π°ΡΠ½Π΅ΡΡΡ Ρ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°:
rewinddir $dir_handle; # 'ΠΏΠ΅ΡΠ΅ΠΌΠΎΡΠ°ΡΡ' Π½Π° Π½Π°ΡΠ°Π»ΠΎ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π°
Π€ΡΠ½ΠΊΡΠΈΡ telldir() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠ΅ΠΊΡΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π΅, ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π² ΡΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ seekdir():
$dir_position = telldir $dir_handle; # ΠΏΠΎΠ·ΠΈΡΠΈΡ ΡΡΠ΅Π½ΠΈΡ
ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π½ΠΎΠ΅ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ telldir() Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ seekdir() ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅Ρ Π½ΠΎΠ²ΡΡ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ ΠΊΠ°ΡΠ°Π»ΠΎΠ³Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ readdir():
seekdir $dir_handle, $dir_position; # Π²Π΅ΡΠ½ΡΡΡΡΡ ΠΊ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ
ΠΠΎΡΠ»Π΅ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π² ΡΡΠΎΠΉ Π»Π΅ΠΊΡΠΈΠΈ ΡΡΠ΅Π΄ΡΡΠ² Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° Π²ΠΏΠΎΠ»Π½Π΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΈΡΠ°ΡΡ Π·Π°ΠΊΠΎΠ½ΡΠ΅Π½Π½ΡΠ΅ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° Perl. ΠΠΎ ΠΏΡΠΎΠΉΠ΄Π΅Π½Π° ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ»ΠΎΠ²ΠΈΠ½Π° ΠΏΡΡΠΈ: Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π»Π΅ΠΊΡΠΈΡΡ ΠΊΡΡΡΠ° Π±ΡΠ΄Π΅Ρ ΡΠ°ΡΡΠΊΠ°Π·Π°Π½ΠΎ ΠΎ Π²Π°ΠΆΠ½ΡΡ ΠΊΠΎΠ½ΡΡΡΡΠΊΡΠΈΡΡ ΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ°Ρ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Perl, Π±Π΅Π· ΠΊΠΎΡΠΎΡΡΡ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΌ ΡΡΠΎΠ²Π½Π΅.
ΠΠ΅ΠΊΡΠΈΡ 10. ΠΡΡΠ΅ΡΡ
Π ΡΡΠΎΠΉ Π»Π΅ΠΊΡΠΈΠΈ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡΡΡ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΠΎΡΡΠ΅ΡΠΎΠ² ΠΈ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΡ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² Perl ΠΎΡΡΠ΅ΡΠΎΠ² Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΡΠΌΠ°ΡΠΎΠ², ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π² ΡΠΎΡΠΌΠ΅, ΡΠ΄ΠΎΠ±Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΡΠ΅Π»ΠΎΠ²Π΅ΠΊΠΎΠΌ ΠΈΠ»ΠΈ Π΄Π»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΠΏΡΠΈΠ½ΡΠ΅Ρ.
Π¦Π΅Π»Ρ Π»Π΅ΠΊΡΠΈΠΈ: Π½Π°ΡΡΠΈΡΡΡΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠΎΡΠΌΠ°Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΡΡΡΠ°Π½ΠΈΡΡ ΠΈ ΡΠΎΡΠΌΠ°Ρ ΡΡΡΠΎΠΊ ΠΎΡΡΠ΅ΡΠ°, ΡΠ°Π·ΠΎΠ±ΡΠ°ΡΡΡΡ Ρ ΡΠΎΠ½ΠΊΠΎΡΡΡΠΌΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ Π² ΡΠΎΡΠΌΠ°ΡΠ°Ρ . ΠΠ° ΠΏΡΠΈΠΌΠ΅ΡΠ°Ρ ΠΎΡΠ²ΠΎΠΈΡΡ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠΎΡΠΌΠ°ΡΠ° ΠΎΡΡΠ΅ΡΠ° Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈ Π²ΡΠ²ΠΎΠ΄ ΠΎΡΡΠ΅ΡΠΎΠ² Π² ΡΠ°Π·Π½ΡΠ΅ Π²ΡΡ ΠΎΠ΄Π½ΡΠ΅ ΠΏΠΎΡΠΎΠΊΠΈ.
ΠΡΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Ρ ΡΠ°Π½ΡΡΠ°ΡΡΡ Π² ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , Π² ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΡΡΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ Π»ΡΠ΄Π΅ΠΉ, Π° Π»ΡΠ΄ΡΠΌ Π½ΡΠ°Π²ΠΈΡΡΡ Π²ΠΈΠ΄Π΅ΡΡ Π΅Π΅ ΡΠΏΠΎΡΡΠ΄ΠΎΡΠ΅Π½Π½ΠΎΠΉ ΠΈ Π°ΠΊΠΊΡΡΠ°ΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ. ΠΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ , ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Π½ΠΎΠ΅ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΈΠ»ΠΈ Π½Π° Π±ΡΠΌΠ°Π³Π΅, ΠΏΡΠΈΠ½ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΎΡΡΠ΅ΡΠΎΠΌ. ΠΡΡΠ΅ΡΡ ΡΠΎΠ·Π΄Π°ΡΡΡΡ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ Π² ΡΠ΄ΠΎΠ±Π½ΠΎΠΌ Π΄Π»Ρ Π²ΠΎΡΠΏΡΠΈΡΡΠΈΡ Π²ΠΈΠ΄Π΅, ΠΏΠΎΡΡΠΎΠΌΡ ΠΏΡΠΈ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΎΡΡΠ΅ΡΠ° Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΡΡΠΈΡΡΡΡΡΡ, ΠΎΠ±ΠΎΠ±ΡΠ°ΡΡΡΡ, ΡΠ½Π°Π±ΠΆΠ°ΡΡΡΡ ΠΏΠΎΡΡΠ½ΠΈΡΠ΅Π»ΡΠ½ΡΠΌΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ°ΠΌΠΈ ΠΈ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½ΠΎ ΠΈ ΡΡΡΠ΅ΡΠΈΡΠ½ΠΎ. ΠΡΠ΅ ΠΌΡ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΡΠ°Π»ΠΊΠΈΠ²Π°Π΅ΠΌΡΡ Ρ ΠΎΡΡΠ΅ΡΠ°ΠΌΠΈ, ΠΊΠΎΠ³Π΄Π° Π²ΠΈΠ΄ΠΈΠΌ Π΄Π°Π½Π½ΡΠ΅ Π² "ΠΏΡΠΈΡΠ΅ΡΠ°Π½Π½ΠΎΠΌ" ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ Π²ΠΈΠ΄Π΅: ΡΡΠΎ ΡΠΏΠΈΡΠΊΠΈ, ΡΠ΅Π΅ΡΡΡΡ, ΡΠ°Π±Π»ΠΈΡΡ, ΡΠΎΡΠΌΡ, ΠΊΠ°ΡΡΠΎΡΠΊΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡ. ΠΠ΄Π½ΠΎΠΉ ΠΈΠ· ΡΠ΅Π»Π΅ΠΉ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Perl Π±ΡΠ»ΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ° Π΄Π»Ρ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠΈ ΠΎΡΡΠ΅ΡΠΎΠ². Perl ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ» ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΡΡ ΠΎΡΡΠ΅ΡΠΎΠ² ΠΈ Π΄ΠΈΠ°Π³ΡΠ°ΠΌΠΌ, Π½Π°ΡΠΈΠ½Π°Ρ Ρ ΡΠ°ΠΌΡΡ ΡΠ°Π½Π½ΠΈΡ Π²Π΅ΡΡΠΈΠΉ, ΠΈ ΠΎΠ½ Π½Π΅Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΡΡ Ρ ΡΠ΅Ρ ΠΏΠΎΡ. Π₯ΠΎΡΡ ΠΈΠΌΠ΅ΡΡΠΈΠ΅ΡΡ Π² Π½Π΅ΠΌ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠ°Π±ΠΎΡΡ Ρ ΠΎΡΡΠ΅ΡΠ°ΠΌΠΈ Π²Π΅ΡΡΠΌΠ° Π»Π°ΠΊΠΎΠ½ΠΈΡΠ½Ρ, ΠΎΠ½ΠΈ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½Ρ, ΡΡΠΎΠ±Ρ Π² Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²Π΅ ΡΠΈΡΡΠ°ΡΠΈΠΉ ΠΏΡΠΈΠ³ΠΎΡΠΎΠ²ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΡΠ°Π½ΠΈΡΠ½ΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½, ΠΏΠ΅ΡΠ°ΡΠ°ΡΡΠ΅Π΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ ΠΈΠ»ΠΈ Π² ΡΠ°ΠΉΠ». ΠΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° ΠΎΡΡΠ΅ΡΠ° Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ Π΅Π³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ°.
ΠΠ½Π΅ΡΠ½ΠΈΠΉ Π²ΠΈΠ΄ ΠΎΡΡΠ΅ΡΠ° ΠΈ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π΄Π°Π½Π½ΡΡ Π² Π½Π΅ΠΌ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΎΡΠΌΠ°ΡΠ°. Π€ΠΎΡΠΌΠ°Ρ - ΡΡΠΎ ΡΠ°Π±Π»ΠΎΠ½ ΠΎΡΡΠ΅ΡΠ°, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π»ΠΈΡΠ΅ΡΠ°Π»ΡΠ½ΡΡ ΡΡΡΠΎΠΊ (Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ², ΠΏΠΎΡΡΠ½ΠΈΡΠ΅Π»ΡΠ½ΡΡ Π½Π°Π΄ΠΏΠΈΡΠ΅ΠΉ, ΠΊΠΎΠ½ΡΡΠ°Π½Ρ) ΠΈ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ, ΠΊΡΠ΄Π° ΠΏΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅ ΠΎΡΡΠ΅ΡΠ° Π±ΡΠ΄ΡΡ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΡΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ . Π€ΠΎΡΠΌΠ°Ρ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠ»ΡΡΠ΅Π²ΠΎΠ³ΠΎ ΡΠ»ΠΎΠ²Π° format, ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈΠΌΡ ΡΠΎΡΠΌΠ°ΡΠ° ΠΈ Π·Π½Π°ΠΊ ΡΠ°Π²Π΅Π½ΡΡΠ²Π°. ΠΠ°Π»Π΅Π΅ ΡΠΎ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΡΡΠΎΠΊ ΡΠΎΡΠΌΠ°ΡΠ° ΠΎΡΡΠ΅ΡΠ° (Ρ ΠΎΡΡ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΈ ΠΎΡΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ). ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΡΠΌΠ°ΡΠ° Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ, ΡΠΎΡΡΠΎΡΡΠ΅ΠΉ ΠΈΠ· Π΅Π΄ΠΈΠ½ΡΡΠ²Π΅Π½Π½ΠΎΠΉ ΡΠΎΡΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΡΠΌΠ°ΡΠ° Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ FORMAT_NAME Π±ΡΠ΄Π΅Ρ Π²ΡΠ³Π»ΡΠ΄Π΅ΡΡ ΡΠ°ΠΊ:
format FORMAT_NAME = ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΡΠΌΠ°ΡΠ° ΠΎΡΡΠ΅ΡΠ° .
Π€ΠΎΡΠΌΠ°ΡΡ Π½Π΅ ΠΈΡΠΏΠΎΠ»Π½ΡΡΡΡΡ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡΠΌΠΈ, ΠΊΠ°ΠΊ ΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΈ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π² Π»ΡΠ±ΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π°. ΠΠ±ΡΡΠ½ΠΎ ΠΎΠ½ΠΈ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°ΡΡΡΡ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΡΠ° ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΏΠ΅ΡΠ΅Π΄ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ΠΌ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ. ΠΠΌΡ ΡΠΎΡΠΌΠ°ΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡ. ΠΠ³ΠΎ ΠΏΡΠΈΠ½ΡΡΠΎ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡ Π·Π°Π³Π»Π°Π²Π½ΡΠΌΠΈ Π±ΡΠΊΠ²Π°ΠΌΠΈ, ΠΈ ΠΎΠ½ΠΎ ΠΎΠ±ΡΡΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°Π΅Ρ Ρ ΠΈΠΌΠ΅Π½Π΅ΠΌ ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠ³ΠΎ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΠ° Π²ΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°, ΠΊΡΠ΄Π° Π±ΡΠ΄Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ ΠΎΡΡΠ΅Ρ. ΠΠΌΠ΅Π½Π° ΡΠΎΡΠΌΠ°ΡΠΎΠ² Ρ ΡΠ°Π½ΡΡΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΈΠΌΠ΅Π½, ΠΏΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΈ Π½Π΅ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΡΡΡ Ρ ΠΈΠΌΠ΅Π½Π°ΠΌΠΈ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ , ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΠΌΠ΅ΡΠΎΠΊ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΎΡΠΎΠ². ΠΠΌΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ° Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $~ (ΠΈΠ»ΠΈ $FORMAT_NAME ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½Π½ΠΎΠΉ ΠΏΡΠ°Π³ΠΌΠ΅ use English). ΠΡΠ»ΠΈ ΠΈΠΌΡ ΡΠΎΡΠΌΠ°ΡΠ° Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ Π½Π΅ ΡΠΊΠ°Π·Π°Π½ΠΎ, ΠΏΠΎΠ΄ΡΠ°Π·ΡΠΌΠ΅Π²Π°Π΅ΡΡΡ STDOUT.
ΠΡΠΎΠΌΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ°, ΡΠ°ΡΡΠΎ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° Π΄Π»Ρ ΡΠ°ΠΏΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ΄Π΅Ρ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡΡ Π² Π½Π°ΡΠ°Π»Π΅ ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠ°Π½ΠΈΡΡ ΠΎΡΡΠ΅ΡΠ°. Π€ΠΎΡΠΌΠ°Ρ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠ° ΡΡΡΠ°Π½ΠΈΡΡ ΠΎΡΡΠ΅ΡΠ° ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° ΡΠ΅ΠΌ, ΡΡΠΎ ΠΊ ΠΈΠΌΠ΅Π½ΠΈ ΡΠΎΡΠΌΠ°ΡΠ° Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΡΡΡ '_TOP'. ΠΠ½ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΡΠ°ΠΊ:
format FORMAT_NAME_TOP = ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΡΠΌΠ°ΡΠ° ΡΠ°ΠΏΠΊΠΈ ΠΎΡΡΠ΅ΡΠ° .
ΠΠΌΡ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠΎΡΠΌΠ°ΡΠ° Π΄Π»Ρ ΡΠ°ΠΏΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡΡ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ Ρ ΡΠ΅ΠΊΡΡΠΈΠΌ Π²ΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΏΠΎΡΠΎΠΊΠΎΠΌ, Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $^ ($FORMAT_TOP_NAME). ΠΡΠΈ Π²ΡΠ²ΠΎΠ΄Π΅ ΠΎΡΡΠ΅ΡΠ°, Π΅ΡΠ»ΠΈ ΠΎΡΠ΅ΡΠ΅Π΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π½Π° ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΠ΅, Π² Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠΎΠΊ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΡΠΎΠ³ΠΎΠ½Π° ΡΡΡΠ°Π½ΠΈΡΡ, ΡΡΠ΅ΡΡΠΈΠΊ ΡΡΡΠ°Π½ΠΈΡ ΡΠ²Π΅Π»ΠΈΡΠΈΠ²Π°Π΅ΡΡΡ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡΡ, ΠΈ Π² Π½Π°ΡΠ°Π»Π΅ ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΡΡΡΠ°Π½ΠΈΡΡ Π² ΡΠ΅ΠΊΡΡΠΈΠΉ ΠΏΠΎΡΠΎΠΊ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ ΡΡΡΠ°Π½ΠΈΡΡ ΠΎΡΡΠ΅ΡΠ°.
Π ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠΎΡΠΌΠ°ΡΠ° ΠΎΡΡΠ΅ΡΠ° ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π²ΠΈΠ΄ΠΎΠ² ΡΡΡΠΎΠΊ. Π‘ΡΡΠΎΠΊΠ° ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² (ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊΠ° ΠΏΠΎΠ»Π΅ΠΉ) ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ ΠΏΠΎΠ»Ρ ΠΎΡΡΠ΅ΡΠ° Π΄Π»Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΠΌΠΈ. ΠΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ ΡΠ°Π±Π»ΠΎΠ½Π° ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΎΠ΄Π½Π° ΠΈΠ»ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΡΠΎΠΊ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² (ΠΈΠ»ΠΈ ΡΡΡΠΎΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ), ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΡΠΏΠΈΡΠΎΠΊ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² Π΄Π°Π½Π½ΡΡ (Π»ΠΈΡΠ΅ΡΠ°Π»ΠΎΠ², ΠΈΠΌΠ΅Π½ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ Π·Π°ΠΏΡΡΡΠΌΠΈ) Π΄Π»Ρ Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ. ΠΠΈΡΠ΅ΡΠ°Π»ΡΠ½Π°Ρ ΡΡΡΠΎΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π±Π΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΡΡ Π² ΠΎΡΡΠ΅Ρ. ΠΠΎΡΠ»Π΅ Π»ΠΈΡΠ΅ΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΡΡΠΎΠΊΠ° Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Π½Π΅ ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ. Π‘ΡΡΠΎΠΊΠ° ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π², Π½Π°ΡΠΈΠ½Π°ΡΡΠ°ΡΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° #, ΡΠ»ΡΠΆΠΈΡ Π΄Π»Ρ Π·Π°ΠΏΠΈΡΠΈ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠΉ ΠΈ Π½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π² ΠΎΡΡΠ΅Ρ. Π ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡΡΡ ΠΎΠ±ΡΠ°Π·ΡΡ ΡΠ°Π·Π½ΡΡ ΡΠΈΠΏΠΎΠ² ΡΡΡΠΎΠΊ Π² ΠΎΠΏΠΈΡΠ°Π½ΠΈΠΈ ΡΠΎΡΠΌΠ°ΡΠ°:
format STDOUT = 1. Π‘ΡΡΠΎΠΊΠ° ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ² ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΠΎΠ»Ρ: @<<<<< ΠΈ @###.## 'ΠΏΠΎΠ»Π΅1', $field2 # 3. ΠΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠΉ: Π²ΠΎ 2-ΠΉ ΡΡΡΠΎΠΊΠ΅ Π΄Π°Π½Π½ΡΠ΅ Π΄Π»Ρ Π²ΡΡΠ°Π²ΠΊΠΈ Π² 1-Ρ 4. ΠΠΈΡΠ΅ΡΠ°Π»ΡΠ½Π°Ρ ΡΡΡΠΎΠΊΠ° Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ "ΠΊΠ°ΠΊ Π΅ΡΡΡ". .
Π ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡ ΠΈ Π»ΠΈΡΠ΅ΡΠ°Π»ΡΠ½ΡΡ ΡΡΡΠΎΠΊΠ°Ρ Π½Π΅Ρ Π½ΠΈΡΠ΅Π³ΠΎ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΠ³ΠΎ, ΡΠ°ΠΌΠΎΠ΅ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΠΎΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ Π² ΡΡΡΠΎΠΊΠ°Ρ ΡΠ°Π±Π»ΠΎΠ½ΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΠΎΠΏΠΈΡΠ°Π½ΠΈΡ ΠΏΠΎΠ»Π΅ΠΉ ΠΎΡΡΠ΅ΡΠ°.