Форматирование данных функцией sprintf

Функция sprintf получает те же аргументы, что и printf (кроме необязательного файлового дескриптора, конечно), но не выводит, а возвращает полученную строку. Например, это позволяет сохранить отформатированную строку в переменной для использования в будущем, либо вам недостаточно возможностей управления выводом, предоставляемых функцией printf:

my $date_tag = sprintf
"%4d/%02d/%02d %2d:%02d:%02d",
$yr, $mo, $da, $h, $m, $s;

В переменной $date_tag сохраняется значение вида "2038/01/19 3:00:08". Форматная строка (первый аргумент sprintf) содержит начальные нули в некоторых кодах форматов; при описании форматов printf. Начальный нуль в коде формата означает, что число должно дополняться начальными нулями до заданной ширины. Без начальных нулей полученная строка даты/времени содержала бы нежелательные начальные пробелы вместо нулей:

"2038/ 1/19 3: 0: 8".

Оцените статью: (0 голосов)
0 5 0

Статьи из раздела Perl на эту тему:
Использование функции sprintf для вывода денежных сумм
Операции с подстроками и функция substr
Поиск подстроки по индексу
Расширенная сортировка
Сортировка по нескольким ключам

Вернуться в раздел: Perl / 13. Строки и сортировка