The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"преобразование переменной"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"преобразование переменной"  
Сообщение от Oleg email(??) on 01-Авг-06, 16:50 
Всем привет!
я читал про то как perl замечательно конвертирует переменные, но вопросы остались.
Подскажите, как преобразовать переменную в которой просто число (к примеру 1) в строку вида "01" или "001", а если переменная имеет значение 10, то строковая переменные должны выглядеть как "10" или "010".
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "преобразование переменной"  
Сообщение от levsha email(??) on 01-Авг-06, 17:43 
>Всем привет!
>я читал про то как perl замечательно конвертирует переменные, но вопросы остались.
>
>Подскажите, как преобразовать переменную в которой просто число (к примеру 1) в
>строку вида "01" или "001", а если переменная имеет значение 10,
>то строковая переменные должны выглядеть как "10" или "010".

Хм, а в чём проблемы то?

[16:42]:levsha@workstation>perl -e '$a=10; $b="0".$a ; print "$b\n"'
010
[16:42]:levsha@workstation>

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

2. "преобразование переменной"  
Сообщение от NuINu (??) on 01-Авг-06, 17:54 
>Всем привет!
>я читал про то как perl замечательно конвертирует переменные, но вопросы остались.
>
>Подскажите, как преобразовать переменную в которой просто число (к примеру 1) в
>строку вида "01" или "001", а если переменная имеет значение 10,
>то строковая переменные должны выглядеть как "10" или "010".

print MAILLOG sprintf("%.2d %.2d:%.2d:%.2d",$mday,$hour,$min,$sec);

то бишь

my $t1 = 10;
print sprintf("%.3d",$t1);

010

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

3. "преобразование переменной"  
Сообщение от Oleg email(??) on 01-Авг-06, 21:19 
Дык,
Так мне нужна именно переменная для дальнейших операций, а не ее символьное представление в stdout.
А вообще конечная задача сформировать имя файла вида [yyyymmdd_hhmmss], но именно mm а не m в случае с январем, hh а не h в случае с 9 часам? ну и т.д.
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

4. "преобразование переменной"  
Сообщение от NuINu (??) on 02-Авг-06, 09:52 
>Дык,
>Так мне нужна именно переменная для дальнейших операций, а не ее символьное
>представление в stdout.
>А вообще конечная задача сформировать имя файла вида [yyyymmdd_hhmmss], но именно mm
>а не m в случае с январем, hh а не h
>в случае с 9 часам? ну и т.д.


my $name = sprintf(.....

да вот:
y ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
my $MailLogFile = $LogDir.sprintf("%.2d%.2d.log",($year-100),($mon+1));

я ее использовал для формирования месячного файла с логами. А предыдущий пример из формированя регистрационной записи этого файла.

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

5. "преобразование переменной"  
Сообщение от ACCA (ok) on 02-Авг-06, 09:53 
>А вообще конечная задача сформировать имя файла вида [yyyymmdd_hhmmss], но именно mm

это стандартная задача.

man POSIX в части strftime, ещё посмотри perldoc -f localtime
коды для strftime найдёшь в man 3 strftime

($sec, $min, $hour, $day, $mon, $year, undef) = localtime(time);
$filename = POSIX::strftime ('%Y%m%d_%H%M%S', $year, $month, $day, $hour, $min, $sec);

Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

6. "преобразование переменной"  
Сообщение от Oleg email(??) on 02-Авг-06, 13:22 
Спасибо!
Работает!
меня заклинило, что к printf можно приделать "s"...
Правка | Высказать мнение | Ответить | Cообщить модератору | Наверх

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру