URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 16679
[ Назад ]

Исходное сообщение
"знатокам перла"

Отправлено gexa , 26-Апр-02 13:31 
в $var="2:17", как сделать из var новую var2="17/02". Соответственно если $var="3:01" --> $var2="01/03"
Спасибо!

Содержание

Сообщения в этом обсуждении
"RE: знатокам перла"
Отправлено Soldier , 26-Апр-02 14:10 
>в $var="2:17", как сделать из var новую var2="17/02". Соответственно если $var="3:01" --> $var2="01/03"
>Спасибо!


#!/usr/bin/perl

$var="3:01";

@fld=split(':',$var);

if (length($fld[0])<2) {$fld[0]=qq(0$fld[0]);}
if (length($fld[1])<2) {$fld[1]=qq(0$fld[1]);}

$var2=qq($fld[1]/$fld[0]);

printf "%s\n",$var2;

#------------------------------

P.S. Znatokom perl-a ne yavlyaus'


"RE: знатокам перла"
Отправлено ilya , 26-Апр-02 14:13 
>>в $var="2:17", как сделать из var новую var2="17/02". Соответственно если $var="3:01" --> $var2="01/03"
>>Спасибо!
>
>
>#!/usr/bin/perl
>
>$var="3:01";
>
>@fld=split(':',$var);
>
>if (length($fld[0])<2) {$fld[0]=qq(0$fld[0]);}
>if (length($fld[1])<2) {$fld[1]=qq(0$fld[1]);}
>
>$var2=qq($fld[1]/$fld[0]);
>
>printf "%s\n",$var2;
>
>#------------------------------
>

perl -e 'my $var="12:7"; $var =~ /(\d+):(\d+)/;my $var2=(0 x (2-length($2))).$2."/".(0 x (2-length($1))).$1;print $var2."\n";'

тоже работает!


"RE: знатокам перла"
Отправлено Hermit , 10-Май-02 17:57 
>в $var="2:17", как сделать из var новую var2="17/02". Соответственно если $var="3:01" --> $var2="01/03"
>Спасибо!

Попробуй
$var2 = sprintf('d/d', reverse(split(':', $var)));

(А это то же самое, должно смотреться корректно в IE :)
$var2 = sprintf('%02d/%02d', reverse(split(':', $var)));