From: <kur...@gm...> - 2006-04-14 00:36:12
|
Hi! Thanks for the replies Matthew & Brent, Matthew i tried method two, but for a beginner in perl i had some problems and still has some, but i think i'm working them out now - if i'm note quite wrong i think there might be a typographical error in method 2 a ")" should have been a "}" Like this: if (eval "time_between( ${$workdates{today}}{start} ,${${workdates{today}}{end} })") { not like this: "time_between(${$workdates{today}}{start},${${workdates{today}}{end}))") { Is there a way to turn off "use strict; so i dont have to use "my" in front of all variables? Thanks again, for all your replies! On 4/14/06, Brent DeShazer <br...@de...> wrote: > Yeah Matt, method #2 was kind of what I had in mind for this...just didn'= t > have time to write it out better this morning. A hash for the times > obviously works as well as using an array and obviously gives you more > readable code... > > -----Original Message----- > From: mis...@li... > [mailto:mis...@li...]On Behalf Of > Matthew Williams > Sent: Thursday, April 13, 2006 8:51 AM > To: mis...@li... > Subject: Re: [mh] Time Array > > > Brent has the right idea of using a hash, but as he says, there remains t= he > problem of working out the time left. Two ways of cracking this nut: > > method #1 > $workdates{'date1'}=3D"time_between (0900am,1700pm)"; > $workdates{'date2'}=3D"time_between (0900am,1700pm)"; > $workdates{"Another date"}=3D"time between (XXXXpm,XXXXam)"; > > if (eval $workdates{today}) { > $work=3D=3D1; > ($end_time)=3D $workdates{today} =3D~ m/,(.*)\)$/; > $time_left=3Dtime_diff(time_now,$end_time); > > method #2 > %workdates=3D(); > $workdates{'date1'}=3D{start =3D> '0900am', end =3D> '1700pm'}; > > if (eval > "time_between(${$workdates{today}}{start},${${workdates{today}}{end}))") = { > $work=3D=3D1; > $time_left=3Dtime_diff(time_now,${$workdates{today}}{end}); > > > I personally like method 2 because the data is stored in a "cleaner" mann= er > and can be access/modified elsewhere quite easily and the comparison logi= c > is done elsewhere. The syntax gets a little crazy as we are storing an > anonymous hash reference inside another hash. Look at the perlref man pa= ge > / Activestate documentation for more info on PERL references if you want = to > know more about this. > > Matt > > > > ------------------------------------------------------- > This SF.Net email is sponsored by xPML, a groundbreaking scripting langua= ge > that extends applications into web and mobile media. Attend the live webc= ast > and join the prime developer group breaking into this new coding territor= y! > http://sel.as-us.falkag.net/sel?cmd=3Dlnk&kid=3D110944&bid=3D241720&dat= =3D121642 > ________________________________________________________ > To unsubscribe from this list, go to: http://sourceforge.net/mail/?group_= id=3D1365 > > |