osmickove
Jiri Polcar
polcar na physics.muni.cz
Úterý Duben 16 13:44:40 MEST 2002
Uz pred poslanim dotazu do konference jsem to vyresil filtrovanim pres
regularni vyraz:
s/([^123456789])0+([123456789])/$1$2/g;
Jinak nacitam data (cas) ve formatu
HHH:MM:SS
a prepocitavam na minuty:
( $h, $m, $s) = split( /:/, $time );
$min = $h*60+$m+$s/60;
Ve skutecnosti je vstup o neco komplikovanejsi. Kolem casu jsou nejaky
stredniky, carky a podobne...
Trvalo me docela dlouho, nez jsem odhalil naprosto zahadne chovani, kdyz
v se v promennych $m a $s vyskytovalo neco jako "05" a podobne.
Cekal jsem, ze bude existovat nejaka obdoba
use integer;
treba
use decimal;
nebo tak neco. Kazdopadne diky za odpoved.
On Tue, Apr 16, 2002 at 12:31:15PM +0200, Honza Pazdziora wrote:
> On Tue, Apr 16, 2002 at 12:11:48PM +0200, Jiri Polcar wrote:
> >
> > lze nejak Perl prinutit, aby cisla zacinajici nulou neinterpretoval jako by
> > byly zapsane v osmickove soustave?
> >
> > Chtel bych, aby ( 0666 == 666 ) bylo pravda.
>
> No, mohl byste pouzit nejaky mohl na filtrovani vstupu, ale obecne
> bych rekl, ze mate smulu. Tohle je soucast syntaxe jazyka a je to,
> jako kdybyste chtel, aby 12 na vstupu bylo brano jako 85 a 85 jako
> 34.
>
> Opravdu Vam jde o to, ze mate _ve skriptu_ tahle cisla a potrebujete
> to, nebo mate ty hodnoty ve vstupu? Jak vypada ten kod (priklad)?
>
> --
> ------------------------------------------------------------------------
> Honza Pazdziora | adelton na fi.muni.cz | http://www.fi.muni.cz/~adelton/
> ... all of these signs saying sorry but we're closed ...
> ------------------------------------------------------------------------
--
JP
Další informace o konferenci Perl