Perl Power Tools
1.044 2024-03-03T09:12:25Z
All changes are from Michael Mikonos
addbib
apply
arch
asa
basename
bc
cat
cmp
colrm
cp
deroff
diff
dirname
ed
r filename
and w filename
(#459)env
expand
fish
fmt
fold
grep
head
id
install
kill
look
maze
nl
od
paste
ping
primes
rev
rm
shar
sleep
tac
tail
-n <DIGIT>
(#420)tee
touch
uname
uniq
wc
what
whoami
xargs
yes
1.043 2024-01-25T23:23:48Z * All changes are from Michael Mikonos unless otherwise noted * ar - get rid of getopts.pl (#394) - switch to three argument opens (#398) * cat - fail for -? (#396) * cmp - simplify some code (#388) * col - no longer takes arguments; it's just stdin (#407) * ed - fix some line calculation (#405, #413, #414, #415) - allow whitespace in arguments (#411) - fail for -? (#417) * file - switch to three argument opens (#398) * fish - update some style in the code (#410) * fortune - unknown options are now fatal (#392) * grep - remove some stray chars from error messages (#400) * hangman - don't assume size of word list (#416) * head - the - is now treated as stdin (#397) * ls - add strict (#395) * od - fix line offset numbers in output (#389) - fix oddities in output with -b (#391) * pom - unknown options are now fatal (#390) * pr - -3x option are now fatal (#393) * primes - non-numeric data are errors now (#406) * sort - enough sensible bounds for -F and -y (#412) * tail - allow both -n1 (combined) and -n 1 (separated) (#399)
1.042 2023-12-22T12:45:27Z * All changes from Michael Mikonos unless otherwise noted
* apply
- require args after command (#374)
- catch system() failures (#376)
- handle bad arg count (#384)
- add the -d option (#385)
* baseb4
- check close return value (#362)
* bc
- use bignum with e notation (#353)
* cat
- Let -b override in (#360)
* cmp
- forbid -s with -l (#387)
* chown
- show filename in error message (#386)
* date
- show usage for bad options (#365)
* diff
- die if the args try to compare standard input to a directory (#361)
- improve options handling (#371)
- speedup some loops (#372)
* ed
- Adjust some error strings (#349)
- simplify code for r command (#354)
* env
- end options with -- (#379)
* grep
- make decompression work (#365)
* find
- correct usage example (#370)
- simpler error messages (#375)
* fmt
- die for unknown options (#357)
* head
- check close return value (#363)
* hexdump
- small code improvements (#358)
* install
- update usage string (#364)
* ls
- fix output for -R (#359)
* patch
- die for unknown options (#356)
* pig
- add NetBSD compatibility (#369)
* pr
- fix incorrect looping with -l (#350)
- support - as standard input (#351)
- validate -o argument (#352)
* printenv
- update Pod docs (#382)
* sort
- better usage (#380)
* tr
- improve -d option (#367)
- use getopts instead of custom code (#368)
- the -C option is now an alias for -c (#373)
- remove the -U option (#373)
* uniq
- treat -- as end of options (#355)
* uudecode
- implement the -i option (#381)
* uuencode
- directory argument is a failure (#378)
* which
- requires an arguemnt (#383)
* words
- directory argument is a failure (#377)
1.041 2023-11-24T17:10:58Z * All changes from Michael Mikonos unless otherwise noted * arithmetic - use getopts (#336) * banner - use getopts instead of custom parsing (#286) * bc - don't print 0 for a false condition (#247) - allow file named 0 (#282) - fix case that eats too much input (#292)
* cal
- use getopts instead of custom parsing (#277)
* chgrp
- allow -- to end options (#341)
* chmod
- allow -- to end options (#347)
* chown
- allow -- to end options (#347)
* cmp
- exit with 2 on arg failure (#307)
- handle hex input (#309)
- support - for stdin (#310)
* col
- reject 0 value for -l (#334)
- add usage (#343)
* comm
- use strict (#306)
- support - for stdin (#327)
* cut
- show error for unknown options (#297)
- disallow -b 0 or -f 0 (#299)
* date
- some code cleanups (#287)
- document -q (#328)
* diff
- validate -U and -C args (#308)
- support - for stdin (#311)
* ed
- removed unused code (#315)
- fix r command addresses (#330)
- allow r to add newline to last line (#346)
* expand
- support - for stdin (#324)
- don't suppress backspace (#329)
- don't slurp file (#344)
* expr
- use strict (#338)
* file
- fix an error message (#285)
* fortune
- improve -w handling (#322)
* hexdump
- allow file named 0 (#283)
* id
- allow uid 0 (#281)
* install
- handle directory args correctly (#339)
- fix exit status precedence problem (#348) (mauke)
* join
- support - for stdin (#313)
- show usage (#345)
* ln
- error out for bad options (#331)
* ls
- try harder to determine the screen size (#303)
* mail
- fix problem writing to mailbox (#279)
- better handling of temp file (#316)
- disallow directory for -f (#319)
- error for uid 0 (#321)
- remove some duplicated code (#322)
* mkfifo
- let -m take one and two digit args (#312)
* nl
- use Pod::Usage (#291)
* patch
- support - for stdin (#314)
- fix exit status precedence problem (#348) (mauke)
* pom
- leverage libraries to get math functions instead of coding them (#280)
* pr
- allow -- to end options (#332)
- use spaces for margin_spaces (#342)
* printf
- support hex arguments (#320)
* rev
- warn for directory args (#318)
* shar
- fix dependency error with old getopts.pl (#300)
- ignore directories (#303)
- support dir arguments from find (#304)
* spell
- refactor for better looping (#335)
* split
- remove code to handle -? (unkown switch still does same thing) (#278)
* strings
- make strict-safe, better validation (#289)
- read stdin by default (#333)
* tail
- stricter checking on numbers for arguments (#284)
- continue on error (#294)
- allow 0 as argument (#296)
- warn for directories (#298)
* tar
- disallow directories for -f (#337)
* tee
- guard special chars in filename (#290)
* touch
- support directories (#326)
* unexpand
- support - for stdin (#325)
- don't slurp file (#340)
* uuencode
- support - for stdin (#317)
* wc
- report filenames (#295)
* wump
- various refactors (#293)
* xargs
- support -0 (#288)
1.040 2023-10-02T04:42:58Z * All of these improvements are from Michael Mikonos * cal - add -j, -y switches (#259) * chgrp - note filename in error messages (#261) * dc - don't reda stdin if there was a file (#268) * env - print message wen exec fails (#260) - validate -u (#266) * look - reject mulitple arguments (#274) * pr - disallow directories as arguments (#264) * strings - better validation for args (#262) * sum - add md5 support (#271) - add sha{1,256,384,512} (#275) * tac - fix bug in tac for reading from standard input (#258) - add usage message (#269) - continue to next file on error (#270) * wc - keep going if an open fails (#263) * which - don't return directories (#267) * xargs - better handling of exec errors (#265)
1.039 2023-09-22T23:46:44Z * All of these improvements are from Michael Mikonos * arithmetic - terminate on end-of-line * banner - clarify usage (#232) * basename - fix directory separator handling (#250) * bc - fix integer precision problem (#236) * bcd - add -d to decode card (#238) * cal - improve year formatting (#242) * cmp - check that both files exist (#249) * diff - work with directory arguments (#240) (#241) * ed - fix current line tracking for j, m, t (#225) - add wq shortcut (#228) - fix handling of bad command 1c0 (#251) * expr - exit with error for missing argument (#253) * fold - continue if there's an error (#226) * head - don't head on directories (#227) * ls - use standard meaning of -f (turns on -a) (#245) * nl - validate numeric operations (#229) - exit with error for bad filename (#230) * paste - specify stdin with - (#231) - reject unknown options (#235) * rmdir - include filename in warnings (#243) * seq - added new command (#257) * sort - don't continue for unknown options (#255) * sum - improve code readability (#239) * tee - handle -n properly (#254) * tsort - don't support multiple input files (#256) * which - fix option parsing (#246) * xargs - fix infinite loop with -n (#248)
1.038 2023-08-27T11:36:25Z * All updates are from Michael Mikonos * rev - accept ? as a file (#222) * cat - exit 1 for bad argments (#223) * ed - fix range-specific write (#221) and better handling of maxline (#224)
1.037 2023-07-31T17:09:18Z * adjusted several tests - find.t checks that its local::lib guess actually exists - #220 - rm tests squash a warning about a redefined exit #216 - bc tests checked for English error messages, which is - not always the case #215 - bc tests allow for different levels of perl precision - (long double and quadmath) #214 * Michael Mikonos enhanced ed is many ways: - Add -s for quieter operation #212 - Make -j act like the real ed #213 - better argument checking #217 - add list (l) command #218 - fix an edge case with "r file" #219 - fix range-specific write #221
1.036_002 2023-07-29T20:26:25Z * Improve the find.t test to not mistakenly use a non-existent path for find2perl #220
1.036_001 2023-07-24T22:11:32Z * Clean up some test oddities that CPAN Testers found: #214, #215, #216