3.12_7 10/10/02, 11:56 pm Method 'list_dir_a()' no longer suffixes directory items with the system path seperator by force. 3.12_6 10/4/02, 4:22 am Fixed serious problem with flock() wrapper which was previously not working at all when global setting '--fatals-as-status' or global setting '--fatals-as-warning' were used. An upgrade to the present release of Futils from versions predating this release (3.12_6) is seriously recommended! 3.12_5 10/1/02, 7:46 pm More performance improvements. New argument flags recognized by method 'new': '--fatals-as-warning' The new Futils object will CORE::warn() about otherwise fatal errors instead of failing and exiting the process. '--fatals-as-status' The new Futils object will return(undef) to method calls that would otherwise cause fatal errors. Method 'write_file' now recognizes the argument flag, '--empty-writes-OK', as an alternative means of allowing the creation of empty files without reaping a nasty fatal error. Up until now, setting $Futils::empty_writes to a true value was the only way to accomplish this. 3.12_4 9/23/02, 2:30 pm Fixed 'deep recursion' problem in AUTOLOAD 3.12_3 9/23/02, 1:18 pm Added AUTOLOAD and moved lots of methods away into space. They get AUTOLOAD-ed when needed, but not compiled as routines in the module. This greatly improves compile-time and run-time performance now. Got rid of methods 'get()' and 'set()'; they're largely useless. Got rid of variable '$Futils::canhackit'; no longer used. 3.12_2 9/11/02, 12:35 am Moved to OOorNO interface design in order to provide both an Object- Oriented and a Procecural (non-Object-Oriented) programming style interface to Futils. 1.10 Thursday, March 14, 2002, 1:29:55 AM Constants are now class attributes independent of the constructor method. Futils objects should always get these constants regardless. Constants and OS identification extended upon code from CGI.pm v.2.78 (go Lincoln, it's your birthday, get busy...) as such, Futils got path seperator help to better support a wider variety of platforms. Additionally, constants contributed to a major overhaul of how Futils handles newlines. 1.09 Thursday, March 14, 2002, 1:29:55 AM Error messages got their own place as predefined key-value pairs in an anonymous hash independent of any class methods. eg-they are commited to memory at compile time for speedy destruction of intentionally halted processes. 1.07 Saturday, February 9, 2002, 3:32:57 PM new method: Futils::open_to_FH. This method lets user pass a typeglob reference (eg- *TYPG) and in return the user will get back a new filehandle which is opened to the filename of their specifications. 1.06 Tuesday, February 5, 2002, 9:47:35 AM Fixed a bug in Futils::stamp() which made times during the hour of 12:00 PM appear with the 'AM' suffix rather than the correct 'PM suffix. Added a new format type to Futils::stamp() called 'file' or 'filename' which returns a timestamp suitible for placing into the name of a file in order to archive old files or versions of code with a time/date stamp embedded into the filename for easy lookup. 1.05 Wednesday, December 5, 2001, 1:36:48 AM Added a few more methods of the same nature as Futils::size(). Passing in a format keyword argument returns a formatted timestamp. Format keywords described in detail within the overview entry for previous version 1.02. Now an overview of new methods: Futils::created([filename][format]) returns the creation time of the file in seconds since the epoch. The value returned is then passed back in the same format as the value returned from a call to Perl's built-in function: time() consequently, the value returned is suitible for feeding to localtime, or any private methods and functions expecting the same type of input. As such, a call to this method on a file which was created at: Thursday, December 6, 2001, 4:27:57 PM ...would return the value: 1007684877 Futils::last_mod([filename][format]) Returns the last modified time of the file you pass to it in seconds since the epoch. Just as with the new created() method described above, the value returned comes in the same format as the value returned from a call to time(), and is therefore suitible for feeding to localtime() or any other private function or method expecting input of the same type. As such, a call to this method on a file which was last modified at: Sunday, December 2, 2001, 12:05:21 AM ...would return the value: 1007280321 Futils::last_access([filename][format]) Same as the two previously described methods, only this method returns the number of seconds since the epoch to the time when the specified file was last accessed. As such, a call to this method on a file which was last accessed at: Thursday, December 6, 2001, 12:00:00 AM ...would return the value: 1007625600 1.04 Wednesday, December 5, 2001, 1:36:48 AM Fixed some of the checks on files for existance, added the Futils::file_size([filename]) method which returns the size of the filename you pass as the only argument. 1.03 Thursday, November 29, 2001, 12:54:07 AM Re-visited the time/date methods to work out a bug which was causing file creation and last-modified times to be returned with incorrect values. 1.02 Tuesday, November 27, 2001, 2:23:55 PM More directory listing options. Method Futils::stamp() now takes optional format keyword argument; it lets you choose between different output formats for the returned timemestamp. Format keywords are thus: --short 5/15/02, 4:22 pm --formal Saturday, June 15, 2002, 4:22 pm --long same as '--formal' --succinct Sat 5/15/02 16:22:43 --ISO Sat, 15 Jun 2002 16.22.43 GMT --filename -June-15-2002-16.22.43 --file same as '--filename' --mdy 5/15/02 --hm 4:22 pm --hms 4:22:43 pm --24hms 16:22:43 --dayofmonth 15 --dayofyear 134 (1 - 365) --dayofweek Saturday --dayofweek, --num 7 --month June --month, --num 6 --year 2002 --shortyear 02 --minute 22 --hour 16 (0 - 24) --second 43 1.01 Wednesday, November 21, 2001, 4:00:00 PM All methods now include very detailed error messages and a stack trace to help quickly track down mistakes. You can fix mistakes now without having to decipher some cryptic error message which no one can understand and whose origin one can guess :o( 1.00 Sunday, September 23, 2001 4:18:30 PM Initial release of Futils.pm