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