Aion-Format

 view release on metacpan or  search on metacpan

README.md  view on Meta::CPAN

[![Actions Status](https://github.com/darviarush/perl-aion-format/actions/workflows/test.yml/badge.svg)](https://github.com/darviarush/perl-aion-format/actions) [![GitHub Issues](https://img.shields.io/github/issues/darviarush/perl-aion-format?logo=p...
# NAME

Aion::Format - расширение Perl для форматирования чисел, раскрашивания вывода и т.п.

# VERSION

0.1.2

# SYNOPSIS

```perl
use Aion::Format;

trappout { print "123\n" } # => 123\n

coloring "#red ↬ #r\n" # => \e[31m ↬ \e[0m\n
trappout { printcolor "#red ↬ #r\n" } # => \e[31m ↬ \e[0m\n
```

# DESCRIPTION

Утилиты для форматирования чисел, раскрашивания вывода и т.п.

# SUBROUTINES

## coloring ($format, @params)

Раскрашивает текст с помощью escape-последовательностей, а затем заменяет формат на `sprintf`. Названия цветов используются из модуля `Term::ANSIColor...

```perl
coloring "#{BOLD RED}###r %i", 6 # => \e[1;31m##\e[0m 6
```

## printcolor ($format, @params)

Как `coloring`, но печатает отформатированную строку на стандартный вывод.

## warncolor ($format, @params)

Как `coloring`, но печатает отформатированную строку в `STDERR`.

```perl
trapperr { warncolor "#{green}ACCESS#r %i\n", 6 }  # => \e[32mACCESS\e[0m 6\n
```

## accesslog ($format, @params)

Пишет в STDOUT используя для форматирования функцию `coloring` и добавляет префикс с датой-временем.

```perl
trappout { accesslog "#{green}ACCESS#r %i\n", 6 }  # ~> \[\d{4}-\d{2}-\d{2} \d\d:\d\d:\d\d\] \e\[32mACCESS\e\[0m 6\n
```

## errorlog ($format, @params)

Пишет в **STDERR** используя для форматирования функцию `coloring` и добавляет префикс с датой-временем.

```perl
trapperr { errorlog "#{red}ERROR#r %i\n", 6 }  # ~> \[\d{4}-\d{2}-\d{2} \d\d:\d\d:\d\d\] \e\[31mERROR\e\[0m 6\n
```

## p ($target; %properties)

`p` из Data::Printer с предустановленными настройками.

Вместо неудобного первого параметра используется просто скаляр.

Необязательный параметр `%properties` позволяет перекрывать настройки. 

```perl
trapperr { p +{cat => 123} } # ~> cat.+123
```

## np ($target; %properties)

`np` из Data::Printer с предустановленными настройками.

Вместо неудобного первого параметра используется просто скаляр.

Необязательный параметр `%properties` позволяет перекрывать настройки. 

```perl
np +{cat => 123} # ~> cat.+123
```

## flesch_index_human ($flesch_index)

Преобразует индекс Флеша в русскоязычную метку с помощью шага 10.

```perl
flesch_index_human -10   # => несвязный русский текст
flesch_index_human -3    # => для академиков
flesch_index_human 0     # => для академиков
flesch_index_human 1     # => для академиков
flesch_index_human 15    # => для профессионалов
flesch_index_human 99    # => для 11 лет (уровень 5-го класса)
flesch_index_human 100   # => для младшеклассников
flesch_index_human 110   # => несвязный русский текст
```

## from_radix ($string, $radix)

Анализирует натуральное число в указанной системе счисления. По умолчанию используется 64-значная система.

Для цифр используются символы 0–9, A–Z, a–z, _ и –. Эти символы используются до и для 64 значной системы. Для цифр после 64 значной системы испÐ...

```perl
from_radix "A-C" # -> 45004
from_radix "A-C", 64 # -> 45004
from_radix "A-C", 255 # -> 666327
eval { from_radix "A-C", 256 }; $@ 	# ~> The number system 256 is too large. Use NS before 256
```

## to_radix ($number, $radix)

Преобразует натуральное число в заданную систему счисления. По умолчанию используется 64-значная система.

```perl
to_radix 10_000 				# => 2SG

README.md  view on Meta::CPAN

```perl
sinterval  6666.6666 	# => 01:51:06.667
sinterval  6.6666 		# => 00:00:06.667
sinterval  .333 		# => 0.33300000 s
sinterval  .000_33 		# => 0.3300000 ms
sinterval  .000_000_33 	# => 0.330000 mks
```

## sround ($number, $digits)

Оставляет `$digits` цифр после последнего нуля (сам 0 не учитывается).

По умолчанию `$digits` равен 2.

```perl
sround 10.11        # -> 10
sround 12.11        # -> 12
sround 100.11       # -> 100
sround 133.11       # -> 133
sround 0.00012      # -> 0.00012
sround 1.2345       # -> 1.2
sround 1.2345, 3    # -> 1.23
```

## trans ($s)

Транслитерирует русский текст, оставляя только латинские буквы и тире.

```perl
trans "Мир во всём Мире!"  # => mir-vo-vsjom-mire
```

## transliterate ($s)

Транслитерирует русский текст.

```perl
transliterate "Мир во всём Мире!"  # => Mir vo vsjom Mire!
```

## trapperr (&block)

Ловушка для **STDERR**.

В случае ошибки в блоке **STDERR** восстанавливается, а вывод в блоке – теряется.

```perl
trapperr { print STDERR "Stars: ✨" }  # => Stars: ✨
```

См. также `IO::Capture::Stderr`.

## trappout (&block)

Ловушка для **STDOUT**.

В случае ошибки в блоке **STDOUT** восстанавливается, а вывод в блоке – теряется.

```perl
trappout { print "Stars: ✨" }  # => Stars: ✨
trappout { print "Stars: ✨"; die "error" }  # @=> error
```

См. также `IO::Capture::Stdout`.

## TiB ()

Константа равна одному тебибайту.

```perl
TiB  # -> 2**40
```

## GiB ()

Константа равна одному гибибайту.

```perl
GiB  # -> 2**30
```

## MiB ()

Константа равна одному мебибайту.

```perl
MiB  # -> 2**20
```

## KiB ()

Константа равна одному кибибайту.

```perl
KiB  # -> 2**10
```

## xxL ()

Максимальная длина данных LongText mysql и mariadb.
L - large.

```perl
xxL  # -> 4*GiB-1
```

## xxM ()

Максимальная длина данных MediumText mysql и mariadb.
M - medium.

```perl
xxM  # -> 16*MiB-1
```

## xxR ()

Максимальная длина текста данных mysql и mariadb.
R - regularity.

```perl



( run in 1.278 second using v1.01-cache-2.11-cpan-39bf76dae61 )