Π Perl ΠΈΠΌΠ΅Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΈΡΠ»Π° Π² ΡΠΈΡΠ»ΠΎΠ²ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅. Π€ΡΠ½ΠΊΡΠΈΡ hex() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°ΠΊ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠΈΡΠΈΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ:
$hexadecimal_as_string = '0x2F'; $decimal_number = hex($hexadecimal_as_string); # Π±ΡΠ΄Π΅Ρ 47
Π€ΡΠ½ΠΊΡΠΈΡ oct() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΠΎΠΊΠΎΠ²ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠ΅Π³ΠΎ Π·Π°ΠΏΠΈΡΡ Π²ΠΎΡΡΠΌΠ΅ΡΠΈΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΠ»Π°:
$octal_as_string = '0777'; $decimal_number = oct($octal_as_string); # Π±ΡΠ΄Π΅Ρ 511
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ oct() ΠΌΠΎΠΆΠ½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΊ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ Π΄Π²ΠΎΠΈΡΠ½ΠΎΠ΅ ΠΈΠ»ΠΈ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠΈΡΠΈΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ, Π·Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ΅ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ:
$binary_as_string = '0b011001'; $decimal_number = oct($binary_as_string); # Π±ΡΠ΄Π΅Ρ 25 $hexadecimal_as_string = '0x19'; $decimal_number = oct($hexadecimal_as_string); # Π±ΡΠ΄Π΅Ρ 25
ΠΡ Π° ΡΡΡΠΎΠΊΡ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡ ΡΠΈΡΠ»ΠΎ Π² Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ΡΡΠΈΡΠ»Π΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΊ ΡΠΈΡΠ»Ρ, ΠΏΠΎΠΌΠ΅ΡΡΠΈΠ² Π΅Π΅ Π² ΡΠΈΡΠ»ΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ:
$pi_as_string = '3.141592653'; # ΡΠΈΡΠ»ΠΎ ΠΠΈ Π² Π²ΠΈΠ΄Π΅ ΡΡΡΠΎΠΊΠΈ $circle_length = 2 * $pi_as_string * $radius;
Π€ΡΠ½ΠΊΡΠΈΡ sprintf() Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΡΡΡΠΎΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½Π° Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠΈ Ρ ΠΏΡΠ°Π²ΠΈΠ»Π°ΠΌΠΈ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΈΠ· ΡΠ·ΡΠΊΠ° C: Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΎΡΠΌΠ°ΡΠ° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ, Π·Π°Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ²ΡΠΌ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠΌ, Π² ΡΠ΅Π·ΡΠ»ΡΡΠΈΡΡΡΡΡΡ ΡΡΡΠΎΠΊΡ ΠΏΠΎΠ΄ΡΡΠ°Π²Π»ΡΡΡΡΡ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° ΠΎΡΡΠ°Π»ΡΠ½ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ. Π ΠΎΠ±ΡΠ΅ΠΌ Π²ΠΈΠ΄Π΅ Π²ΡΠ·ΠΎΠ² ΡΡΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ Π²ΡΠ³Π»ΡΠ΄ΠΈΡ ΡΠ°ΠΊ: sprintf(Π€ΠΠ ΠΠΠ’, Π‘ΠΠΠ‘ΠΠ ΠΠ ΠΠ£ΠΠΠΠ’ΠΠ). Π ΡΠΎΡΠΌΠ°ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΡΠΏΠΎΠ»Π°Π³Π°Π΅ΡΡΡ Π»ΡΠ±ΠΎΠΉ ΡΠ΅ΠΊΡΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΡΡΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°ΠΆΠ΄ΠΎΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π° ΠΏΡΠΎΡΠ΅Π½ΡΠ° (%) ΠΈ Π·Π°ΠΊΠ°Π½ΡΠΈΠ²Π°Π΅ΡΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠΈΠΌ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅. ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ 7.2.
Π’Π°Π±Π»ΠΈΡΠ° 7.2. ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ sprintfΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅Π‘ΠΈΠ½ΠΎΠ½ΠΈΠΌΠ Π΅Π·ΡΠ»ΡΡΠ°Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡΠΠ½Π΅ΠΌΠΎΠ½ΠΈΠΊΠ° ΡΠΈΠΌΠ²ΠΎΠ»Π°%%ΠΠ½Π°ΠΊ ΠΏΡΠΎΡΠ΅Π½ΡΠ°%%cΠ‘ΠΈΠΌΠ²ΠΎΠ» Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌ Π½ΠΎΠΌΠ΅ΡΠΎΠΌ Π² ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ ΡΠ°Π±Π»ΠΈΡΠ΅Character%sΠ‘ΡΡΠΎΠΊΠ°String%d%iΠ¦Π΅Π»ΠΎΠ΅ ΡΠΎ Π·Π½Π°ΠΊΠΎΠΌ Π² Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅Decimal, Integer%uΠ¦Π΅Π»ΠΎΠ΅ Π±Π΅Π· Π·Π½Π°ΠΊΠ° Π² Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅Unsigned%bΠ¦Π΅Π»ΠΎΠ΅ Π±Π΅Π· Π·Π½Π°ΠΊΠ° Π² Π΄Π²ΠΎΠΈΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅Binary%oΠ¦Π΅Π»ΠΎΠ΅ Π±Π΅Π· Π·Π½Π°ΠΊΠ° Π² Π²ΠΎΡΡΠΌΠ΅ΡΠΈΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅Octal%x%XΠ¦Π΅Π»ΠΎΠ΅ Π±Π΅Π· Π·Π½Π°ΠΊΠ° Π² ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΠΎΠΌ Π²ΠΈΠ΄Π΅heXadecimal%e%EΠ¦Π΅Π»ΠΎΠ΅ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ Π² Π½Π°ΡΡΠ½ΠΎΠΉ Π½ΠΎΡΠ°ΡΠΈΠΈExponential%f%FΠ§ΠΈΡΠ»ΠΎ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ Π² Π²ΠΈΠ΄Π΅ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠΉ Π΄ΡΠΎΠ±ΠΈFloat%g%GΠ§ΠΈΡΠ»ΠΎ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ ΡΠΎΡΠΊΠΎΠΉ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ %e ΠΈΠ»ΠΈ %f
ΠΠ΅ΠΆΠ΄Ρ Π·Π½Π°ΠΊΠΎΠΌ ΠΏΡΠΎΡΠ΅Π½ΡΠ° ΠΈ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠΌ Π² ΡΠΊΠ°Π·Π°Π½ΠΈΠΈ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ, ΠΎΡΠ½ΠΎΠ²Π½ΡΠ΅ ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ 7.3.
Π’Π°Π±Π»ΠΈΡΠ° 7.3. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ sprintfΠΠ°ΡΠ°ΠΌΠ΅ΡΡΠΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΠΎΠ΅ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ΠΡΠΈΠΌΠ΅Ρ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠ² sprintf()Π Π΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡΡΠΈΡΠ»ΠΎΠΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠΈΡΠΈΠ½Π° ΠΏΠΎΠ»Ρ Π²ΡΠ²ΠΎΠ΄Π° Π΄Π»Ρ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ; Π΅ΡΠ»ΠΈ ΠΎΠ½Π° Π½Π΅ Π·Π°Π΄Π°Π½Π° ΠΈΠ»ΠΈ ΠΌΠ΅Π½ΡΡΠ΅ ΡΠΈΡΠΈΠ½Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΡΠΎ ΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ ΡΠ°Π²Π½ΠΎΠΉ ΡΠΈΡΠΈΠ½Π΅ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡ'<%5s>', 25< 25>.ΡΠΈΡΠ»ΠΎΠΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΠΈΡΡ ΠΏΠΎΡΠ»Π΅ Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠΉ ΡΠΎΡΠΊΠΈ Π² Π΄ΡΠΎΠ±Π½ΠΎΠΌ ΡΠΈΡΠ»Π΅'<%.5f>', 0.25<0.25000>ΠΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½Π°Ρ ΡΠΈΡΠΈΠ½Π° ΠΏΠΎΠ»Ρ Π²ΡΠ²ΠΎΠ΄Π°, Π΄ΠΎ ΠΊΠΎΡΠΎΡΠΎΠΉ ΡΡΠ΅ΠΊΠ°Π΅ΡΡΡ Π΄Π»ΠΈΠ½Π½Π°Ρ ΡΡΡΠΎΠΊΠ°'<%.5s>', '5' x 10<55555>ΠΏΡΠΎΠ±Π΅Π»ΠΡΠ²ΠΎΠ΄ ΠΏΡΠΎΠ±Π΅Π»Π° ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ'<% d>', 25'< 25>'+ΠΡΠ²ΠΎΠ΄ ΠΏΠ»ΡΡΠ° ΠΏΠ΅ΡΠ΅Π΄ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ'<%+d>', 25'<+25>'0ΠΡΠ²ΠΎΠ΄ Π½ΡΠ»Π΅ΠΉ, Π° Π½Π΅ ΠΏΡΠΎΠ±Π΅Π»ΠΎΠ² ΠΏΡΠΈ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠΈ ΠΏΠΎ ΠΏΡΠ°Π²ΠΎΠΌΡ ΠΊΡΠ°Ρ ΠΏΠΎΠ»Ρ'<%05s>', 25'<00025>'-ΠΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΏΠΎ Π»Π΅Π²ΠΎΠΌΡ ΠΊΡΠ°Ρ ΠΏΠΎΠ»Ρ<%-5s>, 25'<25 >'#ΠΡΠ²ΠΎΠ΄ ΠΏΠ΅ΡΠ΅Π΄ Π²ΠΎΡΡΠΌΠ΅ΡΠΈΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ 0, ΠΏΠ΅ΡΠ΅Π΄ ΡΠ΅ΡΡΠ½Π°Π΄ΡΠ°ΡΠ΅ΡΠΈΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ 0x, ΠΏΠ΅ΡΠ΅Π΄ Π΄Π²ΠΎΠΈΡΠ½ΡΠΌ ΡΠΈΡΠ»ΠΎΠΌ 0b'<%#x>',25'<0x19>'
ΠΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ sprintf() ΠΊ ΠΎΡΠ΅ΡΠ΅Π΄Π½ΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΈΠ· ΡΠΏΠΈΡΠΊΠ° Π°ΡΠ³ΡΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΠ΅, ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ Π²ΡΡΠ°Π²Π»ΡΠ΅ΡΡΡ Π² ΡΠΎΡΠΌΠ°ΡΠΈΡΡΡΡΡΡ ΡΡΡΠΎΠΊΡ Π½Π° ΠΌΠ΅ΡΡΠΎ ΡΠΊΠ°Π·Π°Π½ΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ ΡΠ°Π±Π»ΠΎΠ½ ΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π°ΡΠ³ΡΠΌΠ΅Π½ΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ sprintf() Π·Π°Π΄Π°Π½Ρ ΡΠ°ΠΊ:
$format = "'%12s' Π°Π³Π΅Π½ΡΠ° <%03d> = '%+-10.2f'"; @list = ('Π’Π΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ°', 7, 36.6); $formatted_string = sprintf($format, @list);
ΡΠΎ ΠΏΠΎΡΠ»Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Π½ΠΎΠ³ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ Π² ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΠΎΠΉ $formatted_string Π±ΡΠ΄Π΅Ρ ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΡΡΡ ΡΠ°ΠΊΠ°Ρ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½Π°Ρ ΡΡΡΠΎΠΊΠ°:
' Π’Π΅ΠΌΠΏΠ΅ΡΠ°ΡΡΡΠ°' Π°Π³Π΅Π½ΡΠ° <007> = '+36.60 '
ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π² ΡΠΎΡΠΌΠ°ΡΠ΅ ΡΡΠΎΠ³ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ° ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°ΡΡ ΡΠ»Π΅Π΄ΡΡΡΠ΅Π΅:
[x]. %12s - ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π² ΡΡΡΠΎΠΊΡ (string) ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² ΠΏΠΎΠ»Π΅ ΡΠΈΡΠΈΠ½ΠΎΠΉ Π² 12 ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Ρ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΠΏΡΠ°Π²ΠΎ (Ρ. ΠΊ. ΡΠΈΡΠΈΠ½Π° ΠΏΠΎΠ»Ρ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½Π°Ρ);
[x]. %03d - ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π² Π΄Π΅ΡΡΡΠΈΡΠ½ΠΎΠ΅ ΡΠ΅Π»ΠΎΠ΅ (decimal) ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² ΠΏΠΎΠ»Π΅ ΡΠΈΡΠΈΠ½ΠΎΠΉ Π² 3 ΡΠΈΡΡΡ Ρ Π²Π΅Π΄ΡΡΠΈΠΌΠΈ Π½ΡΠ»ΡΠΌΠΈ (Ρ. ΠΊ. ΡΠΈΡΠΈΠ½Π° ΠΏΠΎΠ»Ρ Π·Π°Π΄Π°Π½Π° Ρ Π²Π΅Π΄ΡΡΠΈΠΌ Π½ΡΠ»Π΅ΠΌ) ΠΈ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΠΏΡΠ°Π²ΠΎ (ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΈΡΠΈΠ½Π° ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½Π°Ρ);
[x]. %+-10.2f - ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ Π² Π΄ΡΠΎΠ±Π½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ (float) Ρ ΡΠ²Π½ΡΠΌ Π·Π½Π°ΠΊΠΎΠΌ (Ρ.ΠΊ. ΡΠΊΠ°Π·Π°Π½ +) ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ Π² ΠΏΠΎΠ»Π΅ ΡΠΈΡΠΈΠ½ΠΎΠΉ Π² 10 ΡΠΈΡΡ, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ 2 ΠΎΡΠ²ΠΎΠ΄ΡΡΡΡ Π½Π° Π΄ΡΠΎΠ±Π½ΡΡ ΡΠ°ΡΡΡ, Ρ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΠ΅ΠΌ Π²Π»Π΅Π²ΠΎ (ΠΏΠΎΡΠΊΠΎΠ»ΡΠΊΡ ΡΠΈΡΠΈΠ½Π° ΠΏΠΎΠ»Ρ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»ΡΠ½Π°Ρ).
Π€ΡΠ½ΠΊΡΠΈΡ sprintf() ΡΠ°ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠΊΡΡΠ³Π»Π΅Π½ΠΈΡ ΡΠΈΡΠ΅Π» - Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎ ΡΡΠ΅Ρ Π·Π½Π°ΠΊΠΎΠ² Π² Π΄ΡΠΎΠ±Π½ΠΎΠΉ ΡΠ°ΡΡΠΈ:
$rounded = sprintf("%.3f", 7/3); # Π² $rounded Π±ΡΠ΄Π΅Ρ 2.333
ΠΠΎΠ»Π½ΠΎΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ ΡΠΎΡΠΌΠ°ΡΠΎΠ² Ρ ΡΠ°ΠΌΡΠΌΠΈ ΡΠ°Π·Π½ΡΠΌΠΈ ΠΏΡΠΈΠΌΠ΅ΡΠ°ΠΌΠΈ ΠΈΡ ΡΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ Π² ΠΎΡΠΈΡΠΈΠ°Π»ΡΠ½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ:
perldoc -f sprintf
Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ ΡΡΠ½ΠΊΡΠΈΠΈ sprintf() ΠΈΠΌΠ΅Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ printf(), ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ ΡΠΎΡ ΠΆΠ΅ ΡΠ°ΠΌΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ Π²ΡΠ²ΠΎΠ΄ΠΈΡ ΠΎΡΡΠΎΡΠΌΠ°ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π² ΡΠΊΠ°Π·Π°Π½Π½ΡΠΉ Π²ΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠΎΡΠΎΠΊ.
ΠΠ½ΠΎΠ³Π΄Π° ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ°Π±ΠΎΡΠ°ΡΡ Π½Π΅ ΡΠΎ ΡΡΡΠΎΠΊΠ°ΠΌΠΈ ΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ ΡΠ΅ΠΊΡΡΠ°, Π° Ρ Π΅Π³ΠΎ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ. Π Perl Π΅ΡΡΡ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΡΡΠ΅Π΄ΡΡΠ²Π° ΡΠ°Π±ΠΎΡΡ Ρ ΡΠΈΠΌΠ²ΠΎΠ»Π°ΠΌΠΈ, Ρ ΠΎΡΡ Π² Π½Π΅ΠΌ Π½Π΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° Π΄Π°Π½Π½ΡΡ , ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΡΡΠΈΡ ΠΎΠ΄ΠΈΠ½ ΡΠΈΠΌΠ²ΠΎΠ», ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎ ΡΠΈΠΏΡ char Π² Π΄ΡΡΠ³ΠΈΡ ΡΠ·ΡΠΊΠ°Ρ . ΠΠ΄ΠΈΠ½ ΡΠΈΠΌΠ²ΠΎΠ» ΠΈΠ· ΡΡΡΠΎΠΊΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠΎΠΏΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ substr($string, $index, 1).
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ Π·Π°ΠΈΠΌΡΡΠ²ΠΎΠ²Π°Π½Π½ΡΡ ΠΈΠ· ΡΠ·ΡΠΊΠ° Pascal ΡΡΠ½ΠΊΡΠΈΠΉ ord() ΠΈ chr() Π²ΡΠΏΠΎΠ»Π½ΡΡΡΡΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»Π° (Π° ΡΠΎΡΠ½Π΅Π΅ ΠΎΠ΄Π½ΠΎΡΠΈΠΌΠ²ΠΎΠ»ΡΠ½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ) Π² Π΅Π³ΠΎ ASCII-ΠΊΠΎΠ΄ ΠΈ Π½Π°ΠΎΠ±ΠΎΡΠΎΡ:
$code = ord($char); # ord('M') Π²Π΅ΡΠ½Π΅Ρ ΡΠΈΡΠ»ΠΎ 77 $char = chr($code); # chr(77) Π²Π΅ΡΠ½Π΅Ρ ΡΡΡΠΎΠΊΡ 'M' # ΡΠΈΠ½ΠΎΠ½ΠΈΠΌ: $char = sprintf("%c", $code);
Π Π°Π·Π±ΠΈΡΡ ΡΡΡΠΎΠΊΡ Π½Π° ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΈ ΠΏΠΎΠΌΠ΅ΡΡΠΈΡΡ ΠΈΡ Π² ΠΌΠ°ΡΡΠΈΠ² ΠΌΠΎΠΆΠ½ΠΎ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΆΠ΅ Π·Π½Π°ΠΊΠΎΠΌΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΈ split() Ρ ΠΏΡΡΡΠΎΠΉ ΡΡΡΠΎΠΊΠΎΠΉ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΠ°Π·Π΄Π΅Π»ΠΈΡΠ΅Π»Ρ:
@array_of_char = split('', $string);
Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΏΠΈΡΠΊΠΎΠ² ΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΡΠ½ΠΊΡΠΈΠΈ substr() ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΌΠ΅Π½ΡΡΡ Π² ΡΡΡΠΎΠΊΠ΅ ΠΌΠ΅ΡΡΠ°ΠΌΠΈ ΡΠΈΠΌΠ²ΠΎΠ»Ρ Ρ ΡΠΊΠ°Π·Π°Π½Π½ΡΠΌΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, 1 ΠΈ 11:
$s = 'ΠΊΠΡ Π²ΠΈΠ΄Π΅Π» ΠΊΠΡΠ°'; (substr($s, 1, 1), substr($s, 11, 1)) = (substr($s, 11, 1), substr($s, 1, 1)); # Π² $s Π±ΡΠ΄Π΅Ρ 'ΠΊΠΡ Π²ΠΈΠ΄Π΅Π» ΠΊΠΡΠ°'
ΠΠ·Π²Π΅ΡΡΠ½Π°Ρ ΠΏΠΎ Π»Π΅ΠΊΡΠΈΠΈ ΠΎ ΡΠΏΠΈΡΠΊΠ°Ρ ΡΡΠ½ΠΊΡΠΈΡ reverse() Π² ΡΠΊΠ°Π»ΡΡΠ½ΠΎΠΌ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΠΊΡΡΠΎΠ²ΠΎΠ³ΠΎ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΠΈΠΌΠ²ΠΎΠ»Ρ ΠΏΠ΅ΡΠ΅ΡΡΠ°Π²Π»Π΅Π½Ρ Π² ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
$palindrom = 'Π Π ΠΠΠ Π£ΠΠΠΠ ΠΠ ΠΠΠΠ£ ΠΠΠΠ Π'; $backwards = reverse($palindrom); # Π² $backwards Π±ΡΠ΄Π΅Ρ 'ΠΠ ΠΠΠ Π£ΠΠΠ ΠΠ ΠΠΠΠΠ£ ΠΠΠΠ Π'