On Wednesday 19 July 2006 09:34, Paul Slootman wrote:

> > --- /tmp/dirvish-expire     2006-07-19 08:59:01.000000000 -0700
> > +++ /usr/sbin/dirvish-expire        2006-07-19 08:58:31.000000000 -0700
> > @@ -145,7 +145,7 @@
> >             qw(VAULT:BRANCH IMAGE CREATED EXPIRED);
> >  }
> >
> > -for $expire (sort(imsort(@expires)))
> > +for $expire (sort(imsort @expires))
> >  {
> >     my ($created, $expired);
> >     ($created = $$expire{created}) =~ s/:\d\d$//;

dirvish 1.2-1 has the "imsort @expires" line.
dirvish 1.2.1-0.1 has the "imsort(@expires)" line.
dirvish 1.2.1 downloaded from www.dirvish.org has "imsort @expires".

The culprit is debian/patches/01_imsort-reserved-warning.dpatch which sticks 
the extra parentheses in there. 

The syntax "sort(imsort @expires)" tells perl to sort @expires using the 
imsort function to do the comparison (imsort returns a scalar integer).

The syntax "sort(imsort(@expires))" tells perl to call imsort on the @expires 
list, and then sort the result using the string comparison operator.

Clearly, the latter is incorrect, because instead of looping over the sorted 
list of expires, perl will loop over a single scalar integer.

Regards,

-- 
Dave Carrigan
Seattle, WA, USA
[EMAIL PROTECTED] | http://www.rudedog.org/
UNIX-Apache-Perl-Linux-Firewalls-LDAP-C-C++-DNS-PalmOS-PostgreSQL-MySQL-Postfix

Attachment: pgpIZFvAdb97p.pgp
Description: PGP signature

Reply via email to