> perl -le'sub mychop(\$) { chop ${shift()} } print mychop $_ foreach (qw/foo/);' Modification of a read-only value attempted at -e line 1. > perl -le'sub mychop(\$) { chop ${$_[0]} } print mychop $_ foreach (qw/foo/);' Modification of a read-only value attempted at -e line 1. This is perl, v5.8.0 built for alpha-dec_osf - Compaq Tru64 UNIX V5.1B This is perl, v5.8.0 built for i386-netbsd - NetBSD 3.0 This is perl, v5.8.6 built for alpha-freebsd - FreeBSD 6.0-RELEASE This is perl, v5.8.6 built for i386-freebsd-64int - FreeBSD 5.4-RELEASE