Revision history for Perl extension App::sh2p. 0.01 Sun Aug 31 12:09:03 2008 - original version; created by h2xs 1.23 with options -A -n App::sh2p 0.02 Wed Sep 03 17:00:00 2008 - fix for 5.6 and CPAN testers in Builtins.pm syntax error reported in 5.6 but not in 5.10 - amended version requirement because of above - changed input parameters - script no longer writes to STDOUT by default See documentation for details - implemented unset, chmod, chown - improved variable assignment to empty strings and integers - implemented some variable expansion: ${var:?}, $#var - limited support for case/esac statement - limited support for basic shell pattern matching - redirection from echo/print now supported - fixed a bug where function calls after a conditional were seen as strings - fixed a bug concerning ++ and -- - fixed a bug where 'echo' was not converted to 'print' - fixed bug where calculations failed to have a trailing ; - fixed bug where return without an argument had a \n before ; - fixed bug where external calls from variables were not handled correctly 0.03 Fri Sep 12 17:00:00 2008 - improvements to POD - improvements to formatting and indentation - improved numeric handling - support for local (alias in ksh, built-in in Bash) - support for shift - support for default read variable $REPLY - support for extended pattern matching - support for exec (but not the fd version) - added option support for unset - added support for autoload and typeset -fu - #! line now takes the path from the current perl configuration - improved environment variable handling - improved variable expansion, now supports ${var##pat} and ${var%%pat} - output file is now given the same permissions as the input - the default list in 'for' is now @ARGV in main, or @_ in a subroutine - ~ added to glob characters - improved handling of multi-line statements - fixed bug where $0 was translated to $ARGV[-1] - fixed bug where a free-standing colon (':') failed - fixed bug concerning comment after redirection - fixed bug when testing the 'system' command - now test explictly for zero return. - fixed bug where a user function call with no arguments gave a single double-quote. 0.04 Wed Oct 06 17:00:00 2008 - removed the Runtime module and the -r option - added -t option for test output (not for general use) - heredoc subroutines are now appended as required - support for true and false - support for text permissions in chmod - implemented 'let', umask, chgrp - built-in support for tr (which may use lc or uc) - built-in support for touch - some improvements to string handling - improvements to cd - arrays are supported, including set -A, [*] and [@] quoted and non-quoted, ${!array[@]}, ${#array[@]} - improvements to pipeline handling - limited support for subshells - fixed bugs concerning multiple and logical operators in test, [, and [[ - fixed bug when a comment followed a compound statement (while, if, else, etc.) - fixed bug concerning variable handling in case statement - fixed bug where some glob constructs were incorrectly quoted - fixed implementation of chown - fixed bug where some INSPECT messages could be displayed several times for each occurence - Improved error reporting 0.05 Sat Feb 07 17:00:00 2009 - new modules: Trap.pm, Statement.pm - internal structure changes concerning BREAK markers (which fixed '7' bugs) - fixed bugs concerning shortcuts (|| and &&) following external calls and print/echo - fixed bug in Builtins.pm (do_print) where a variable was declared twice - fixed bug in case statements where the do{} block was not terminated with ; - fixed bug in case statement where statements were concatenated - fixed bug with case statement nested inside other conditional - fixed indentation with trailing } in esac - fixed bug in 'let' where variable omitted sigil - fixed bug where 'if' statements were sometimes unterminated - fixed bug where an uninitialised array index was not declared with 'my' - fixed bug in subshells where new variables were not declared in the correct scope - fixed bugs where empty strings "" were handled incorrectly - fixed bug with back-ticks embedded inside " quotes - fixed bug where command name was a variable inside " - fixed bug with -t option handling of multi-line commands - fixed bug concerning declare/typeset and "Token count wrong!" - fixed bug where a | embedded in a string was seen as a pipe - fixed bugs concerning commands embedded in quotes - conversion of advise command in back-ticks changed to be a concat. string - support for trap - see documentation for restrictions - the & operator (run in background) is now placed inside a system call. - improvements to 'here' document handling - improvements to $* handling - improvements to redirection - improvements to testing, including the provision of main() 0.06 Sun Feb 08 17:00:00 2009 - fixed bug in chmod, chown, chgrp, which gave "Token count wrong!" - fixed bug in kill which gave "Token count wrong!" - fixed bug with filename quoting in chmod, et. al. - fixed bug where a bare Perl reference was displayed - fixed bug in export where environment vars. on rhs were not recognised - corrected quoting of bareword value in export - corrected quoting in source/. command - corrected quoting in touch command - fixed bug where variable type (integer, etc.) was sometimes missed - improved diagnostics when using shopt