2009/11/2 Derek Smith <derekbellnersmith / yahoo.com>: >> Why do you convert the mtime (a Time object) to an integer? Time >> objects are comparable. Try to omit the ".to_i" and compare the >> Time objects that represent the mtimes. > I feel like Im smoking crack and getting pissed off at the same time! No > offence intended! > This is still not working as I should be seeing > /backups/prod_db_bkup_Thr2009-10-291052.gz > as the oldest file. > > > ¨Βερυιςε §τινε§ > ¨Βτατσ Θασθ®ξεχ > ¨ΒΒίΒΛΥΠ±®εαγθ δο όδβζιμεό > ¨ΒτατσΫδβζιμεέ ΫΖιμε®στατ¨δβζιμε©®ντινε> ¨Βξδ > > ¨ΒτατσίσοςτεΘασθ®ξεχ > ¨Βτατσίσοςτεστατσ®σοςτ όψ¬ωψΫ±έΌ½ΎωΫ±> > ¨ΒμδεσστατσίσοςτεδΫ°έΫ±έ®ζιςστ > ¨Β ομδεστ > ¨Βμδεστζιμ§§ > ¨Βτατσ®εαγθίφαμυδο όφ> ¨Βϋφ£ϋομδεστ> ¨Βμδεσ> ¨Βμδεστζιμστατσ®ιξδεψ¨ομδεστ> ¨Βξδ > ¨Βξδ > ¨Βυτομδεστζιμε > ¨ΒυτΆεψιτΆ > ¨Βψι> end > > prod_DB_OS_bkup.rb: 108 lines, 2997 characters. > [root / .../usr/local/vrep/OS_scripts]# ruby prod_DB_OS_bkup.rb > Thu Oct 29 10:52:41 -0400 2009 > /backups/prod_db_bkup_Thr2009-10-291054.gz > exit > > [root / .../usr/local/vrep/OS_scripts]# ls -alrt /backups/prod*.gz > -rw-r--r-- root ¨Βθεεμ Έ¶°Έ·ΈΟγ²Ή ±°Ίµ> /backups/prod_db_bkup_Thr2009-10-291052.gz > -rw-r--r-- root ¨Βθεεμ Έ¶°Έ·ΉΟγ²Ή ±°Ίµ> /backups/prod_db_bkup_Thr2009-10-291054.gz > -rw-r--r-- root ¨Βθεεμ Έ¶°ΈΈ°Ογ²Ή ±±Ί°> /backups/prod_db_bkup_Thr2009-10-29110.gz > -rw-r--r-- root ¨Βθεεμ Έ¶°Ή±ΉΟγ³° ±°Ί΄> /backups/prod_db_bkup_Fri2009-10-301042.gz > -rw-r--r-- root ¨Βθεεμ Έ··°Έ·Ξο ±¶Ί²> /backups/prod_db_bkup_Sun2009-11-011629.gz IMHO you're making your life too difficult: for the youngest file you can use Enumerable#max_by: 09:25:28 Temp$ ls -lt | head -5 total 339 -rwx------+ 1 RKlemme Domain Users 1544 Nov 2 09:25 etilqs_y5Wb4Ntehb25BGev1S84-journal* -rwx------+ 1 RKlemme Domain Users 184862 Nov 2 09:14 xphoon.bmp* drwx------+ 2 RKlemme Domain Users 0 Nov 2 09:14 notes6030C8/ drwxr-xr-x+ 2 RKlemme Domain Users 0 Nov 2 09:11 hsperfdata_rklemme/ 09:26:07 Temp$ allruby -e 'puts Dir["*"].max_by {|f| File.mtime f}' CYGWIN_NT-5.1 padrklemme1 1.5.25(0.156/4/2) 2008-06-12 19:34 i686 Cygwin ======================================== ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-cygwin] etilqs_y5Wb4Ntehb25BGev1S84-journal ======================================== ruby 1.9.1p129 (2009-05-12 revision 23412) [i386-cygwin] etilqs_y5Wb4Ntehb25BGev1S84-journal For the oldest it is Enumerable#min_by: 09:26:41 Temp$ ls -lt | tail -5 -rwx------+ 1 RKlemme Domain Users 663 Feb 6 2009 to_h.rb* -rwxr--r-- 1 RKlemme Domain Users 548 Jan 27 2009 typo-finder.rb* -rwx------+ 1 RKlemme Domain Users 390 Jan 20 2009 req.rb* -rwx------+ 1 RKlemme Domain Users 426 Dec 11 2008 ds.rb* -rwx------+ 1 RKlemme Domain Users 787 Dec 9 2008 drb-demo.rb* 09:26:47 Temp$ allruby -e 'puts Dir["*"].min_by {|f| File.mtime f}' CYGWIN_NT-5.1 padrklemme1 1.5.25(0.156/4/2) 2008-06-12 19:34 i686 Cygwin ======================================== ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-cygwin] drb-demo.rb ======================================== ruby 1.9.1p129 (2009-05-12 revision 23412) [i386-cygwin] drb-demo.rb Even if you want the whole array sorted by mtime you can use #sort_by and #last or #first: 09:26:53 Temp$ allruby -e 'ar = Dir["*"].sort_by {|f| File.mtime f}; puts ar.first, ar.last' CYGWIN_NT-5.1 padrklemme1 1.5.25(0.156/4/2) 2008-06-12 19:34 i686 Cygwin ======================================== ruby 1.8.7 (2008-08-11 patchlevel 72) [i386-cygwin] drb-demo.rb etilqs_y5Wb4Ntehb25BGev1S84-journal ======================================== ruby 1.9.1p129 (2009-05-12 revision 23412) [i386-cygwin] drb-demo.rb etilqs_y5Wb4Ntehb25BGev1S84-journal Kind regards robert -- remember.guy do |as, often| as.you_can - without end http://blog.rubybestpractices.com/