ΠΠ½Π° Π²ΡΡΠΈΡΠ»ΡΠ΅Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ»ΠΈ Π±Π»ΠΎΠΊ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΠΈΡΠΊΠ° ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠΎΠ². Π‘ Π΅Π΅ ΠΏΠΎΠΌΠΎΡΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π°ΡΠΈΡΠΌΠ΅ΡΠΈΡΠ΅ΡΠΊΠΎΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π½Π°Π΄ Π²ΡΠ΅ΠΌΠΈ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠΏΠΈΡΠΊΠ°:
@result = map $_*10, (11, 32, 55); # ΡΠ°Π±ΠΎΡΠ° ΡΠΎ ΡΠΏΠΈΡΠΊΠΎΠΌ # Π² @result Π±ΡΠ΄Π΅Ρ (110, 320, 550)
ΠΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ map ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½Π°Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ $_ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠΈΠ½ΠΎΠ½ΠΈΠΌ ΡΠ΅ΠΊΡΡΠ΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΠΈΡΠΊΠ°, ΠΏΠΎΡΡΠΎΠΌΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $_ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π°. Π’Π°ΠΊΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΡΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π°. Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π±Π»ΠΎΠΊΠΎΠΌ, ΠΊΡΠ΄Π° ΠΏΠΎΠΌΠ΅ΡΡΠΈΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΡ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ (Π΅ΡΠ»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° Π±ΠΎΠ»ΡΡΠ΅ 20, ΠΎΠ½ΠΎ Π±ΡΠ΄Π΅Ρ ΡΠ΄Π΅ΡΡΡΠ΅ΡΡΡΡΡΡ):
@array = (11, 32, 55); # ΠΈΡΡ ΠΎΠ΄Π½ΡΠΉ ΠΌΠ°ΡΡΠΈΠ² @result = map {if ($_ > 20) {$_*=10;} else {$_;} } @array; # Π² @result Π±ΡΠ΄Π΅Ρ (11, 320, 550)
Π‘ΠΏΠΈΡΠΎΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π² ΡΡΡΠΎΠΊΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ Π²ΡΡΡΠΎΠ΅Π½Π½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ join, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΡΠΏΠΈΡΠΊΠ° ΠΊ ΡΡΡΠΎΠΊΠ΅, ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ ΡΠΏΠΈΡΠΊΠ° Π² ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ, Π²ΡΡΠ°Π²Π»ΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌΠΈ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ, ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΡΡΡΠΎΠΊΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
@array = (5..10); # ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅ΠΌΡΠΉ ΡΠΏΠΈΡΠΎΠΊ $delimiter = ':'; # ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΡΠΏΠΈΡΠΊΠ° Π² ΡΡΡΠΎΠΊΠ΅ $string = join $delimiter, @array; # ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π² ΡΡΡΠΎΠΊΡ # ΡΠ΅ΠΏΠ΅ΡΡ $string ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ '5:6:7:8:9:10'
ΠΠ±ΡΠ°ΡΠ½ΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΡΡΠΎΠΊΠΈ ΠΏΠΎ ΠΎΠ±ΡΠ°Π·ΡΡ Π½Π° ΡΠΏΠΈΡΠΎΠΊ ΡΡΡΠΎΠΊ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ split. ΠΠ½Π° ΡΠ°Π·Π΄Π΅Π»ΡΠ΅Ρ ΡΡΡΠΎΠΊΡ ΠΏΠΎ ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠΌΡ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΠΏΠΈΡΠΎΠΊ ΡΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΡ ΡΡΡΠΎΠΊ. ΠΠΎΠΆΠ½ΠΎ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ ΡΠΈΡΠ»ΠΎ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΡΡ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊ, ΡΠΎΠ³Π΄Π° ΡΡΡΠΎΠΊΠ° Π±ΡΠ΄Π΅Ρ ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π° Π½Π΅ Π±ΠΎΠ»Π΅Π΅, ΡΠ΅ΠΌ Π½Π° ΡΡΠΎ ΡΠΈΡΠ»ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ². ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
$string = '5:6:7:8:9:10'; # ΠΈΡΡ ΠΎΠ΄Π½Π°Ρ ΡΡΡΠΎΠΊΠ° $delimiter = ':'; # ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊ $limit = 3; # ΡΠΈΡΠ»ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² @strings = split $delimiter, $string, $limit; # ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ # Π² @strings ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ('5', '6', '7:8:9:10')
Π€ΡΠ½ΠΊΡΠΈΡ split ΠΈΠΌΠ΅Π΅Ρ Π³ΠΎΡΠ°Π·Π΄ΠΎ Π±ΠΎΠ»ΡΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ, ΠΎ ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ΄Π΅Ρ ΡΠΊΠ°Π·Π°Π½ΠΎ Π² Π»Π΅ΠΊΡΠΈΠΈ, ΠΏΠΎΡΠ²ΡΡΠ΅Π½Π½ΠΎΠΉ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠΌ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌ. ΠΠΎΠ΄ΡΠΎΠ±Π½ΠΎ ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ· ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠΈΠ»ΠΈΡΡ perldoc (ΠΏΠΎΡΠ»Π΅ ΡΠ»Π°Π³Π° -f ΡΠΊΠ°Π·ΡΠ²Π°Π΅ΡΡΡ ΠΈΠΌΡ ΠΈΡΠΊΠΎΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ):
perldoc -f split
ΠΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΈ ΠΏΡΠΎΡΠ΅Π΄ΡΡΡ, ΠΊΠ°ΠΊ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ, ΡΠΎΠΆΠ΅ ΠΌΠΎΠ³ΡΡ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ ΡΠΏΠΈΡΠΊΠΈ: ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡ ΡΠΏΠΈΡΠΊΠΈ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ ΡΠΏΠΈΡΠΎΠΊ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ. ΠΠ± ΡΡΠΎΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅ ΡΠ°ΡΡΠΊΠ°Π·Π°Π½ΠΎ Π² Π»Π΅ΠΊΡΠΈΠΈ 12.
Π Π°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠ΅ ΡΠ°Π½Π΅Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΌΠΎΠ³ΡΡ Π²Π΅ΡΡΠΈ ΡΠ΅Π±Ρ ΠΈΠ½Π°ΡΠ΅, Π΅ΡΠ»ΠΈ ΠΎΠ½ΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π½Π΅ Π² ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠΌ, Π° Π² ΡΠΏΠΈΡΠΎΡΠ½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅. Π’Π°ΠΊ, ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ (ΡΠ΅ΠΏΠ»ΠΈΠΊΠ°ΡΠΈΠΈ), ΡΠ°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠ°Ρ ΠΊ ΡΡΡΠΎΠΊΠ°ΠΌ, ΠΌΠΎΠΆΠ΅Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΈ Π΄Π»Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΊΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΡΠΏΠΈΡΠΊΠ°. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΎΠ½Π° ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΈΠΌΠ΅Π½Π½ΠΎ ΡΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ, ΠΏΠΎΡΡΠΎΠΌΡ Π΅ΡΠ»ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠ°Π·ΠΌΠ½ΠΎΠΆΠΈΡΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΌΠ°ΡΡΠΈΠ²Π°, ΡΠΎ Π΅Π³ΠΎ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² ΡΠΏΠΈΡΠΎΡΠ½ΡΠΉ Π»ΠΈΡΠ΅ΡΠ°Π». ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
@two = ('A', 'B') x 2; # Π±ΡΠ΄Π΅Ρ: ('A', 'B', 'A', 'B') @three = (@one) x 3; # Π² @three ΡΡΠΈΠΆΠ΄Ρ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡΡ @one
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈΡΠ²ΠΎΠΈΡΡ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅ΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΠΌ ΠΌΠ°ΡΡΠΈΠ²Π°, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΄Π΅Π»Π°ΡΡ ΠΈΡ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌΠΈ. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΡΠ½ΠΊΡΠΈΠΈ undef() ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ²ΡΠΎΡΠΈΡΡ ΠΏΠΎ ΡΠΈΡΠ»Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π°:
@array = (undef()) x @array; # ΠΈΠ»ΠΈ (undef) x scalar(@array)
ΠΡΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ Π²Π²Π΅ΡΡΠΈ Π΄Π°Π½Π½ΡΠ΅ Π² ΠΌΠ°ΡΡΠΈΠ² ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΡΠΏΠΎΠΌΡΠ½ΡΡΠΎΠΉ ΡΠ°Π½Π΅Π΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ΅ΠΉ Π²Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊ <>, ΡΠΈΡΠ°ΡΡΠ΅ΠΉ ΡΡΡΠΎΠΊΠΈ ΠΈΠ· Π²Ρ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ°. Π ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ "ΠΊΡΠΈΡΡΠ°Π»Π»" ΡΡΠΈΡΡΠ²Π°Π΅Ρ ΠΎΠ΄Π½Ρ ΡΡΡΠΎΠΊΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ. ΠΠΎΡ ΡΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π² Π΄ΠΈΠ°Π»ΠΎΠ³Π΅ Π²Π²Π΅ΡΡΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π² ΠΌΠ°ΡΡΠΈΠ² ΠΈΠ· ΠΏΡΡΠΈ ΡΡΡΠΎΠΊ:
for (@stdin = (), $n = 0; $n < 5; $n++) { print 'ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ N ', $n+1, ':'; $stdin[$n] = <>; # ΡΡΠΈΡΠ°ΡΡ ΡΡΡΠΎΠΊΡ Π² $n-ΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ ΠΌΠ°ΡΡΠΈΠ²Π° }
Π ΡΠΏΠΈΡΠΎΡΠ½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ "ΠΊΡΠΈΡΡΠ°Π»Π»" ΡΠΈΡΠ°Π΅Ρ Π² ΠΌΠ°ΡΡΠΈΠ² Π·Π° ΠΎΠ΄Π½Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΡΠ°ΠΉΠ»Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ Π·Π°ΠΏΠΎΠ»Π½ΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ² Π΄Π°Π½Π½ΡΠΌΠΈ, Π²Π²ΠΎΠ΄ΠΈΠΌΡΠΌΠΈ Ρ ΠΊΠΎΠ½ΡΠΎΠ»ΠΈ:
print "ΠΠ²Π΅Π΄ΠΈΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ - ΠΏΠΎ ΠΎΠ΄Π½ΠΎΠΌΡ Π² ΡΡΡΠΎΠΊΠ΅.", "ΠΠ»Ρ ΠΎΠΊΠΎΠ½ΡΠ°Π½ΠΈΡ Π²Π²ΠΎΠ΄Π° Π½Π°ΠΆΠΌΠΈΡΠ΅ Ctrl-Z (ΠΈΠ»ΠΈ Ctrl-D).\n"; @stdin = <>; # ΡΡΠΈΡΠ°ΡΡ Π²ΡΠ΅ ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΠΈΡ Π² ΠΌΠ°ΡΡΠΈΠ² print "ΠΡ Π²Π²Π΅Π»ΠΈ ", scalar @stdin, " Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ.\n";
ΠΠΏΠ΅ΡΠ°ΡΠΈΡ <> Π²Π²ΠΎΠ΄ΠΈΡ ΡΡΡΠΎΠΊΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ, Π²ΠΊΠ»ΡΡΠ°Ρ Π·Π°Π²Π΅ΡΡΠ°ΡΡΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ°ΡΡΠΎ Π½Π΅ Π½ΡΠΆΠ΅Π½ ΠΏΡΠΈ Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠ΅. Π€ΡΠ½ΠΊΡΠΈΡ chomp ΡΠ΄Π°Π»ΡΠ΅Ρ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ (Π² ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅) ΠΈΠ»ΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΠΈΡΠΊΠ° (Π² ΡΠΏΠΈΡΠΎΡΠ½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅) ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΎΠ±ΡΠ΅Π΅ ΡΠΈΡΠ»ΠΎ ΡΠ΄Π°Π»Π΅Π½Π½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ².
chomp @stdin; # ΡΠ±ΡΠ°ΡΡ \n Π² ΠΊΠΎΠ½ΡΠ΅ Π²ΡΠ΅Ρ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΌΠ°ΡΡΠΈΠ²Π° $n_count = chomp $string; # ΡΠ±ΡΠ°ΡΡ \n Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ
ΠΠΎΡ ΠΎΠΆΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ chop ΠΎΡΡΠ΅ΠΊΠ°Π΅Ρ Π»ΡΠ±ΠΎΠΉ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Ρ ΡΡΡΠΎΠΊΠΈ (Π² ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅) ΠΈΠ»ΠΈ Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΡΠΏΠΈΡΠΊΠ° (Π² ΡΠΏΠΈΡΠΎΡΠ½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅) ΠΈ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΠΎΡΡΠ΅ΡΠ΅Π½Π½ΡΠΉ ΡΠΈΠΌΠ²ΠΎΠ».
$last_char = chop $string; # ΠΎΡΡΠ΅ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» ΡΡΡΠΎΠΊΠΈ chop @array; # ΠΎΡΡΠ΅ΡΡ ΠΏΠΎΡΠ»Π΅Π΄Π½ΠΈΠΉ ΡΠΈΠΌΠ²ΠΎΠ» Π² ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ°Ρ ΠΌΠ°ΡΡΠΈΠ²Π°
ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ ΠΈΠ·Π±Π°Π²ΠΈΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΎΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄Π° ΡΡΡΠΎΠΊΠΈ, ΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ chomp Π±ΠΎΠ»Π΅Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΠΎΠ½Π° Π½ΠΈΠΊΠΎΠ³Π΄Π° Π½Π΅ ΡΠ΄Π°Π»ΡΠ΅Ρ Π·Π½Π°ΡΠ°ΡΠΈΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Π² ΠΊΠΎΠ½ΡΠ΅ ΡΡΡΠΎΠΊΠΈ.
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Perl-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ Π΅ΠΉ Π΄ΠΎΡΡΡΠΏΠ½Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ², Π² ΠΊΠΎΡΠΎΡΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡ ΠΏΠΎΠ»Π΅Π·Π½Π°Ρ ΡΠ»ΡΠΆΠ΅Π±Π½Π°Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ. ΠΠΎΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ· ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ²:
@ARGV Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ Π΄Π»Ρ Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ @INC ΡΠΏΠΈΡΠΎΠΊ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π²Π½Π΅ΡΠ½ΠΈΡ Perl-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ @_ ΠΌΠ°ΡΡΠΈΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² Π΄Π»Ρ ΠΏΠΎΠ΄ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΈΠ»ΠΈ Π±ΡΡΠ΅Ρ Π΄Π»Ρ split
Π Π°ΡΡΠΌΠΎΡΡΠ΅Π½Π½ΡΠ΅ Π² ΡΡΠΎΠΉ Π»Π΅ΠΊΡΠΈΠΈ ΠΌΠ°ΡΠ΅ΡΠΈΠ°Π»Ρ ΠΏΠΎ ΡΠ°Π±ΠΎΡΠ΅ ΡΠΎ ΡΠΏΠΈΡΠΊΠ°ΠΌΠΈ ΠΈ ΠΌΠ°ΡΡΠΈΠ²Π°ΠΌΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΡ ΠΌΠΎΡΠ½ΡΠ΅ ΠΈ Π²ΡΡΠ°Π·ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π±ΠΎΠ»ΡΡΠΈΡ ΠΎΠ±ΡΠ΅ΠΌΠΎΠ² Π΄Π°Π½Π½ΡΡ . ΠΠ±ΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΈΠ΄Π΅ΠΈ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² ΡΡΠ°Π»ΠΈ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ, ΠΊΠΎΡΠΎΡΡΠ΅ Π±ΡΠ΄ΡΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½Ρ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ Π»Π΅ΠΊΡΠΈΠΈ.
ΠΠ΅ΠΊΡΠΈΡ 6. Π₯ΡΡΠΈ
Π ΡΡΠΎΠΉ Π»Π΅ΠΊΡΠΈΠΈ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π΅ΡΠ΅ ΠΎΠ΄ΠΈΠ½ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠΉ ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ ΡΠ·ΡΠΊΠ° Perl - Ρ ΡΡΠΈ ΠΈΠ»ΠΈ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΠ΅ ΡΠΎΠ±ΠΎΠΉ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΉ Π΄Π°Π½Π½ΡΡ . ΠΠΎΡΠ½ΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠ°Π±ΠΎΡΡ Ρ Ρ ΡΡΠ°ΠΌΠΈ Π² Perl ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠ΄ΠΎΠ±Π½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ ΡΠ°ΠΌΠΎΠ³ΠΎ ΡΠ°Π·Π½ΠΎΠ³ΠΎ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΡ. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Ρ ΡΡΠ΅ΠΉ ΡΡΠ°Π»ΠΎ Π² Perl Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΠΌ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΡΡΠΎ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΡΠΏΡΠΎΡΠ°ΡΡΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
Π¦Π΅Π»Ρ Π»Π΅ΠΊΡΠΈΠΈ: ΠΏΠΎΠ·Π½Π°ΠΊΠΎΠΌΠΈΡΡΡΡ Ρ ΠΌΠ½ΠΎΠ³ΠΎΠΎΠ±ΡΠ°Π·ΠΈΠ΅ΠΌ ΡΡΠ΅Π΄ΡΡΠ² Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Ρ ΡΡΠ°ΠΌΠΈ Π² Perl. ΠΡΠ²ΠΎΠΈΡΡ ΡΠΈΠΏΠΈΡΠ½ΡΠ΅ ΡΠΏΠΎΡΠΎΠ±Ρ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΡ ΠΌΠ°ΡΡΠΈΠ²ΠΎΠ² Π΄Π»Ρ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΈΠΊΠ»Π°Π΄Π½ΡΡ Π·Π°Π΄Π°Ρ.
Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠ΅ ΡΠ²ΡΠ·ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π²ΠΈΠ΄ΠΎΠ² ΡΠ²ΡΠ·Π΅ΠΉ ΠΌΠ΅ΠΆΠ΄Ρ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½ΡΠΌΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Π½Π°ΡΡΠ΄Ρ Ρ Π½Π°ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ (ΡΠ²ΡΠ·ΡΠΌΠΈ ΡΠΈΠΏΠ° "ΠΏΡΠ΅Π΄ΠΎΠΊ-ΠΏΠΎΡΠΎΠΌΠΎΠΊ") ΠΈ Π°Π³ΡΠ΅Π³Π°ΡΠΈΠ΅ΠΉ (ΡΠ²ΡΠ·ΡΠΌΠΈ ΡΠΈΠΏΠ° "ΡΠ°ΡΡΡ-ΡΠ΅Π»ΠΎΠ΅"). ΠΡΡΠΎΡΠΈΠ°ΡΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°ΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ²ΡΠ·ΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΡΡΠ½ΠΎΡΡΡΠΌΠΈ ΠΏΠΎ ΠΈΠ·Π±ΡΠ°Π½Π½ΠΎΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΡΠΎΠΌ ΠΊΡΠΈΡΠ΅ΡΠΈΡ. ΠΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½Π°Ρ ΡΠ²ΡΠ·Ρ ΠΏΠΎΠ΄ΠΎΠ±Π½Π° ΡΡΡΠ΅Π»ΠΊΠ΅ Π½Π° ΡΡ Π΅ΠΌΠ΅, Π½Π°ΠΏΡΠ°Π²Π»Π΅Π½Π½ΠΎΠΉ ΠΎΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΠ΅ΠΊΡΠ° ΠΊ Π΄ΡΡΠ³ΠΎΠΌΡ. Π§Π°ΡΡΠΎ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΉ Π²Π΅Π»ΠΈΡΠΈΠ½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ. Π ΡΡΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ Π΄Π²Π΅ ΡΠ°ΡΡΠΈ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΡΠ²ΡΠ·ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ ΠΏΠΎΠΈΡΠΊΠΎΠ²ΡΠΌ ΠΊΠ»ΡΡΠΎΠΌ (key) ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ (value), Π°ΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌ Ρ ΡΡΠΈΠΌ ΠΊΠ»ΡΡΠΎΠΌ. ΠΠ° ΡΡΠΎΠΌ ΠΏΡΠΈΠ½ΡΠΈΠΏΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π½Π° ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΡΡΡΠΊΡΡΡΠ° Π΄Π°Π½Π½ΡΡ , Π½Π°Π·ΡΠ²Π°Π΅ΠΌΠ°Ρ ΡΠ»ΠΎΠ²Π°ΡΠ΅ΠΌ (dictionary).
Π ΡΠ·ΡΠΊΠ΅ Perl Π΄Π»Ρ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠΉ ΠΈΠΌΠ΅ΡΡΡΡ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ ΠΈΠ»ΠΈ Ρ ΡΡ-ΡΠ°Π±Π»ΠΈΡΡ, ΠΊΠΎΡΠΎΡΡΠ΅ Π΄Π»Ρ ΠΊΡΠ°ΡΠΊΠΎΡΡΠΈ ΠΏΡΠΈΠ½ΡΡΠΎ Π½Π°Π·ΡΠ²Π°ΡΡ Ρ ΡΡΠ°ΠΌΠΈ. Π₯ΡΡ (hash) ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΈΠ· ΡΠ΅Π±Ρ Π½Π°Π±ΠΎΡ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΡ ΡΠ²ΡΠ·Π΅ΠΉ. ΠΠ»ΡΡΠΎΠΌ Ρ ΡΡΠ° ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±Π°Ρ ΡΠΊΠ°Π»ΡΡΠ½Π°Ρ Π²Π΅Π»ΠΈΡΠΈΠ½Π°: ΡΡΡΠΎΠΊΠ°, ΡΡΡΠ»ΠΊΠ°, ΡΠ΅Π»ΠΎΠ΅ ΠΈΠ»ΠΈ Π΄ΡΠΎΠ±Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ΅ΠΌΠΎΠ΅ Π² ΡΡΡΠΎΠΊΡ. ΠΡΠΈΡΠ΅ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΠΊΠ»ΡΡΠ΅ΠΉ Π² Ρ ΡΡΠ΅ ΡΠ½ΠΈΠΊΠ°Π»ΡΠ½Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ Π²Π½ΡΡΡΠ΅Π½Π½ΡΡ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ Ρ ΡΡΠ° Π½Π΅ Π΄ΠΎΠΏΡΡΠΊΠ°Π΅Ρ ΠΊΠ»ΡΡΠ΅ΠΉ Ρ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΡΡΠΎΡΠΈΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠ΅ Ρ ΠΊΠ»ΡΡΠΎΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠΉ Π²Π΅Π»ΠΈΡΠΈΠ½ΠΎΠΉ. Π₯ΡΡΠΈ ΡΠΎΡΠ΅ΡΠ°ΡΡ Π² ΡΠ΅Π±Π΅ ΡΡΠ΄ ΠΏΡΠΈΠ²Π»Π΅ΠΊΠ°ΡΠ΅Π»ΡΠ½ΡΡ ΠΊΠ°ΡΠ΅ΡΡΠ²: Π³ΠΈΠ±ΠΊΠΎΡΡΡ, ΠΌΠΎΡΡ, Π±ΡΡΡΡΠΎΡΡ ΠΈ ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ ΡΠ°Π±ΠΎΡΡ. ΠΠΎΡΡΠΎΠΌΡ ΠΎΠ½ΠΈ Π²Π΅ΡΡΠΌΠ° ΡΠ°ΡΡΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ ΠΏΡΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π½Π° Perl ΡΠ°ΠΌΡΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π·Π°Π΄Π°Ρ. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Ρ ΡΡΠ΅ΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠΎΠ½ΡΡΠΈΡ ΠΈΠ· ΠΌΠ°ΡΠ΅ΠΌΠ°ΡΠΈΠΊΠΈ, ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΊΠΈ, Π»ΠΈΠ½Π³Π²ΠΈΡΡΠΈΠΊΠΈ ΠΈ Π΄ΡΡΠ³ΠΈΡ ΠΎΠ±Π»Π°ΡΡΠ΅ΠΉ Π·Π½Π°Π½ΠΈΠΉ: ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²Π°, ΡΠ»ΠΎΠ²Π°ΡΠΈ, ΡΡΠ΅ΠΉΠΌΡ, ΡΠ΅ΠΌΠ°Π½ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠ΅ΡΠΈ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΡΠ΅ ΠΎΠ±ΡΠ΅ΠΊΡΡ ΠΈ ΠΏΡΠΎΡΡΡΠ΅ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ . Π Π°Π·ΠΌΠ΅Ρ Ρ ΡΡΠ° Π² Perl ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΠΉ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ ΠΏΠ°ΠΌΡΡΡΡ, ΠΏΠΎΡΡΠΎΠΌΡ Ρ ΡΡΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°ΡΡ Π±ΠΎΠ»ΡΡΠΈΠ΅ ΠΎΠ±ΡΠ΅ΠΌΡ Π΄Π°Π½Π½ΡΡ , Π² ΠΊΠΎΡΠΎΡΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ Π²ΡΠΏΠΎΠ»Π½ΡΡΡ Π±ΡΡΡΡΡΠΉ ΠΏΠΎΠΈΡΠΊ. ΠΡΠΈΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΠ½ΠΎ ΡΠΎ, ΡΡΠΎ Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΠ΅ ΠΌΠ°ΡΡΠΈΠ²Ρ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Ρ Π² Π²ΠΈΠ΄Π΅ ΠΊΠΎΠ»Π»Π΅ΠΊΡΠΈΠΉ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΡΠ½ΡΡ ΠΌΠΎΠ΄ΡΠ»ΡΡ , Π° Π² ΡΠ·ΡΠΊΠ΅ Perl Ρ ΡΡΠΈ Π²ΡΡΡΠΎΠ΅Π½Ρ Π² ΡΠ΄ΡΠΎ ΡΠ·ΡΠΊΠ°, ΡΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΠΈΡ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΡΡ ΡΠ°Π±ΠΎΡΡ.
Π ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ΅ Ρ ΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ, ΠΈΠΌΠ΅ΡΡΠ΅ΠΉ ΡΠΈΠΏ Ρ ΡΡΠ°, ΠΊΠΎΡΠΎΡΠ°Ρ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Ρ ΡΠ°Π·ΡΠΌΠ΅Π½ΠΎΠ²ΡΠ²Π°ΡΡΠΈΠΌ ΠΏΡΠ΅ΡΠΈΠΊΡΠΎΠΌ % ΠΏΠ΅ΡΠ΅Π΄ ΠΈΠΌΠ΅Π½Π΅ΠΌ. ΠΡΠΎΡ ΠΏΡΠ΅ΡΠΈΠΊΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΡΡΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ-Ρ ΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΉ Ρ ΡΠ°Π½ΠΈΡΡΡ Π½Π°Π±ΠΎΡ Π°ΡΡΠΎΡΠΈΠ°ΡΠΈΠ²Π½ΡΡ ΡΠ²ΡΠ·Π΅ΠΉ, ΠΈΠ½Π°ΡΠ΅ Π³ΠΎΠ²ΠΎΡΡ, ΠΏΠ°Ρ "ΠΊΠ»ΡΡ - Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅":
%hash # ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ-Ρ ΡΡ
ΠΠ΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΡΠ΅ Π²Π΅Π»ΠΈΡΠΈΠ½Ρ ΠΊΠ»ΡΡΠ΅ΠΉ ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ Ρ ΡΡΠ° ΠΌΠΎΠ³ΡΡ Π±ΡΡΡ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Ρ Π² Π²ΠΈΠ΄Π΅ ΡΠΏΠΈΡΠΎΡΠ½ΠΎΠ³ΠΎ Π»ΠΈΡΠ΅ΡΠ°Π»Π°, ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ ΠΊΠ°ΠΊ ΡΠΏΠΈΡΠΎΠΊ Π² ΠΊΡΡΠ³Π»ΡΡ ΡΠΊΠΎΠ±ΠΊΠ°Ρ , ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² Ρ ΡΡΠ°. ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ»Π΅ΠΌΠ΅Π½Ρ Π² Π»ΠΈΡΠ΅ΡΠ°Π»Π΅ ΡΠΎΡΡΠΎΠΈΡ ΠΈΠ· Π΄Π²ΡΡ ΡΠ°ΡΡΠ΅ΠΉ: ΠΏΠΎΠΈΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠ»ΡΡΠ° ΠΈ ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠ³ΠΎ Ρ Π½ΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠ°Π·Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ =>, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ: