perl -Mdiagnostics -e '$# = 1' $# is no longer supported at -e line 1 (#1) (D deprecated, syntax) The special variable $#, deprecated in older perls, has been removed as of 5.9.3 and is no longer supported. You should use the printf/sprintf functions instead.