0 / 0 / 0
Регистрация: 09.01.2014
Сообщений: 2

Как отформатировать вывод второго столбца

09.01.2014, 16:21. Показов 1899. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
При написании простой программы, столкнулся с проблемой, а именно, при выводе длинной строки, не могу понять как отформатировать вывод второго столбца.

Текст программы
Perl
1
2
3
4
5
6
7
8
9
#!/usr/bin/perl
foreach $key (keys %ENV){
if (length($key)>$max_length){
$max_length=length($key);
}
}
print "max length - $max_length\n";
while(($key,$value) = each %ENV){
printf "%18.${max_length}s %18s\n" , "$key", "$value";
Скриншот вывода
Миниатюры
Как отформатировать вывод второго столбца  
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.01.2014, 16:21
Ответы с готовыми решениями:

Как отформатировать вывод?
Какое есть стандартное решение для форматирования вывода? Речь про выдачу в виде двух столбиков: A: 239 Bad: 23954 GO: ...

Как отформатировать вывод данных?
Есть код: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <script>

Как отформатировать вывод числа с ведущими нулями?
Что-то никак не найду, как отформатировать вывод числа с ведущими нулями. Подскажите, если не трудно.

2
 Аватар для volodin661
6806 / 2305 / 349
Регистрация: 10.12.2013
Сообщений: 7,932
10.01.2014, 07:28
http://perldoc.perl.org/perlform.html

Добавлено через 14 часов 46 минут
Итак, Perl has a mechanism to help you generate simple reports and charts.

Aleksey_Sokol молчит,
пришлось разбираться в этом кошмаре самому
Perl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#!/usr/bin/perl -w
use strict;
 
for( sort keys %ENV ) {
    $ENV{$_} =~ s/(.{80})/$1\n/g;
    write;
}
 
format STDOUT_TOP =
KEY                            VALUE
-------------------------------------------------------------------------------
.                     
 
format STDOUT =       
@<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<^*
$_,                            $ENV{$_}
~~                             ^*
                               $ENV{$_}
.
Perl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
строка 14: определение формата вывода для файл-хэндла STDOUT
строка 15: служебный символ @  и серия из <<<<<<<, которая определяет, 
                   что выравнивание 1-го поля будет по левой границе, а ширина поля равно количеству <,
                   затем идёт значок ^*, который определяет, что 2-е поле будет переменной длины 
                   и может включать в себя символы перевода строки, по которым будет произведена обрезка,
                   а остаток строки будет в таком случае  подчиняться форматированию описанному в строке 17
строка 16: аргументы ( имена переменных), соответствующие символам форматирования в строке 15
строка 17: две ~~ определяют форматирование для строк с символом перевода строки внутри  
строка 18: аргументы ( имена переменных), соответствующие символам форматирования в строке 17
строка 19:  конец определения формата для хэндла STDOUT
 
строка 9:   определение шапки для файл-хэндла STDOUT
строка 12: конец определения формата шапки STDOUT_TOP
 
строка 5:  пришлось насильственно засунуть символ перевода строки после каждого 48-го символа 
                  [ первое поле =32, второе =48, всего ширина =80 ]
                 в переменную $_ для того, чтобы сработала стратегия форматирования ( строки 15 и 17 )
строка 6:  вывод в хэндл STDOUT( по умолчанию вывод именно в него ) с применением форматов
Что получилось на выходе:
Кликните здесь для просмотра всего текста

Perl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
KEY                            VALUE
-------------------------------------------------------------------------------
COLORTERM                      gnome-terminal
DBUS_SESSION_BUS_ADDRESS       unix:abstract=/tmp/dbus-66bPlkYmvu,guid=fa0b4d4d
                               1b08945912f0cd7252ce7fea
DESKTOP_SESSION                gnome
DISPLAY                        :0.0
GDMSESSION                     gnome
GDM_LANG                       ru_RU.utf8
GNOME_DESKTOP_SESSION_ID       this-is-deprecated
GNOME_KEYRING_CONTROL          /home/sten/.cache/keyring-AC0z38
GNOME_KEYRING_PID              3637
GPG_AGENT_INFO                 /home/sten/.cache/keyring-AC0z38/gpg:0:1
HOME                           /home/sten
LANG                           ru_RU.utf8
LOGNAME                        sten
LS_COLORS                      rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:d
                               o=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:su=3
                               7;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;4
                               4:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*
                               .taz=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:
                               *.txz=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz
                               =01;31:*.gz=01;31:*.lz=01;31:*.xz=01;31:*.bz2=01
                               ;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;
                               31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;
                               31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.ace=01;
                               31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;3
                               1:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;
                               35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;
                               35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01
                               ;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=0
                               1;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=
                               01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm
                               =01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vo
                               b=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf
                               =01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi
                               =01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=0
                               1;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=0
                               1;35:*.emf=01;35:*.axv=01;35:*.anx=01;35:*.ogv=0
                               1;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=0
                               0;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=
                               00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=0
                               0;36:*.axa=00;36:*.oga=00;36:*.spx=00;36:*.xspf=
                               00;36:
MANPATH                        /usr/local/man:/usr/local/share/man:/usr/share/m
                               an
PATH                           /home/sten/perl5/perlbrew/bin:/usr/local/bin:/us
                               r/bin:/bin:/usr/local/games:/usr/games
PERLBREW_BASHRC_VERSION        0.67
PERLBREW_HOME                  /home/sten/.perlbrew
PERLBREW_ROOT                  /home/sten/perl5/perlbrew
PWD                            /home/sten
SESSION_MANAGER                local/deb7.home.net:@/tmp/.ICE-unix/3655,unix/de
                               b7.home.net:/tmp/.ICE-unix/3655
SHELL                          /bin/bash
SHLVL                          1
SSH_AGENT_PID                  3696
SSH_AUTH_SOCK                  /home/sten/.cache/keyring-AC0z38/ssh
TERM                           xterm
USER                           sten
 
KEY                            VALUE
-------------------------------------------------------------------------------
USERNAME                       sten
WINDOWID                       41947991
WINDOWPATH                     7
XAUTHORITY                     /var/run/gdm3/auth-for-sten-AuUR7D/database
XDG_DATA_DIRS                  /usr/share/gnome:/usr/local/share/:/usr/share/
XDG_SESSION_COOKIE             f83a6f7ea64ed3059aa2adb152631f69-1389264873.9437
                               96-57982861
_                              /usr/bin/perl
1
0 / 0 / 0
Регистрация: 09.01.2014
Сообщений: 2
10.01.2014, 11:08  [ТС]
Цитата Сообщение от volodin661 Посмотреть сообщение
Aleksey_Sokol молчит,
пришлось разбираться в этом кошмаре самому
Да не молчу, сам пытаюсь разобраться.
У меня ваш код пока не получилось запустить.
Но всё равно, огромное спасибо за отклик и отличную статью.

Добавлено через 11 минут
Большое спасибо, получилось запустить.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
10.01.2014, 11:08
Помогаю со студенческими работами здесь

как отформатировать вывод новостей на главное и расширить 1 колонку
Всем привет, недавно поставил на свой сайт новую тему, возникли 3 вопроса 1) на главной странице когда анонс маленький, название...

Как можно отформатировать вывод данных, используя цикл for?
Я изучаю циклы и часто попадаются задачи, которые выводят в одну строку , огромное количество чисел. Я выложу примеры которые я сделал....

Как вывести данные второго столбца
Здравствуйте! Прошу Вашей помощи. Проблема в следующем. Имеется таблица с двумя полями.Далее был создан запрос, данные берутся из этой...

Как вытащить значение второго столбца
Я все о jList. Все-таки, заполнила при помощи модели. private void jComboBox1ActionPerformed(java.awt.event.ActionEvent evt) { ...

Как посчитать среднее значение второго столбца?
Имеется текстовый файл с данными Rc,RT,CL 03,05,02 05,06,09 05,06,09 05,06,09 04,05,02 05,06,09 05,06,09 05,06,09


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

Новые блоги и статьи
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определенном условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . . а удачный момент так и не приходит.
Фиксация колонок в отчете СКД
Maks 14.04.2026
Фиксация колонок в СКД отчета типа Таблица. Задача: зафиксировать три левых колонки в отчете. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка) / / . . .
Настройки VS Code
Loafer 13.04.2026
{ "cmake. configureOnOpen": false, "diffEditor. ignoreTrimWhitespace": true, "editor. guides. bracketPairs": "active", "extensions. ignoreRecommendations": true, . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru