Luis++; # Deixou o Flávio feliz :P<br>Flavio++; # Sempre com um coelho na manga!<br><br>Isso certamente irá me ajudar em um futuro próximo.<br><br><br><div><span class="gmail_quote">On 5/30/07, <b class="gmail_sendername">
Flavio S. Glock</b> &lt;<a href="mailto:fglock@gmail.com">fglock@gmail.com</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
Luis:<br><br>Opa, finalmente vou poder responder uma pergunta usando ICal:<br><br>-----<br><br>use strict;<br>use warnings;<br>use DateTime;<br>use DateTime::Event::ICal;<br><br>my $basedate = DateTime-&gt;now( time_zone=&gt;&#39;Europe/Amsterdam&#39; )
<br>&nbsp;&nbsp;-&gt;truncate( to =&gt; &#39;day&#39; );<br>my $interval = 3;<br><br>my $days = DateTime::Event::ICal-&gt;recur(<br>&nbsp;&nbsp;&nbsp;&nbsp;dtstart =&gt; $basedate,<br>&nbsp;&nbsp;&nbsp;&nbsp;freq =&gt;&nbsp;&nbsp;&nbsp;&nbsp;&#39;daily&#39;,<br>&nbsp;&nbsp;&nbsp;&nbsp;count =&gt;&nbsp;&nbsp; $interval,<br>
);<br><br>print &quot;@{[ $days-&gt;as_list ]}\n&quot;;<br><br>----<br><br>- Flavio S. Glock<br><br>Em 30/05/07, Luis Motta Campos&lt;<a href="mailto:luismottacampos@yahoo.co.uk">luismottacampos@yahoo.co.uk</a>&gt; escreveu:
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;Gente, eu estou procurando idéias para resolver um problema<br>&gt; complicado.<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;Meus dados de entrada são uma data válida, que eu vou chamar<br>&gt; $basedate, e um intervalo de tempo positivo, inteiro, não nulo, que
<br>&gt; eu vou chamar $interval.<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;O que eu preciso fazer é obter todos os dias entre $basedate e<br>&gt; $basedate+$interval. Alguém tem alguma sugestão melhor do que um loop<br>&gt; para calcular um dia de cada vez?
<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;O loop:<br>&gt;<br>&gt; #!/home/Users/lcampos/run/bin/perl<br>&gt; use strict;<br>&gt; use warnings;<br>&gt; use DateTime;<br>&gt;<br>&gt; my $basedate = DateTime-&gt;now( time_zone=&gt;&#39;Europe/Amsterdam&#39; )-
<br>&gt;&nbsp;&nbsp;&gt;truncate( to =&gt; &#39;day&#39; );<br>&gt; my $interval = 3;<br>&gt;<br>&gt; sub list_days {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my ( $start_date, $interval ) = @_;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $end_date = $start_date + DateTime::Duration-&gt;new( days =&gt;
<br>&gt; $interval );<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my $pointer = $start_date-&gt;clone;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;my @days;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;while( $pointer &lt; $end_date ) {<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;push @days, $pointer-&gt;clone;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;$pointer-&gt;add( days =&gt; 1 );
<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;return \@days;<br>&gt; }<br>&gt;<br>&gt; my @days = list_days( $basedate, $interval );<br>&gt; __END__<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;Alguém tem uma idéia melhor?<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;Putamplexos!<br>&gt; --<br>&gt; Luis Motta Campos (
a.k.a. Monsieur Champs) is a software engineer,<br>&gt; Perl fanatic evangelist, and amateur {cook, photographer}<br>&gt;<br>&gt;<br>&gt; _______________________________________________<br>&gt; Cascavel-pm mailing list<br>
&gt; <a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br>&gt; <a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br>&gt;<br>_______________________________________________
<br>Cascavel-pm mailing list<br><a href="mailto:Cascavel-pm@pm.org">Cascavel-pm@pm.org</a><br><a href="http://mail.pm.org/mailman/listinfo/cascavel-pm">http://mail.pm.org/mailman/listinfo/cascavel-pm</a><br></blockquote></div>
<br><br clear="all"><br>-- <br>Gabriel Vieira