substr($foo, 1, 3) = "hi!"; # We all know this.
splice(@foo, 1, 3) = @bar; # But the lack of this seems asymmetric
$baz = $foo.bar; # Surely this is just overloaded "." being a
# subroutine in $foo's package called with a
# bareword --- $foo->concat("bar")
$foo.bar = $baz; # sub concat :lvalue { ... }
$#array = 10; # We can currently change an array's length
length($scalar) = 10; # But not this?
-s $filename = 0; # calls trunc()
-M $filename = 0; # calls utime()
#(And now, over to Abigail...)
$_ = "foobar";
/foo/ = "baz"; # Now $_ = "bazbar"
/ba./g = <one two>; # Now $_ = "onetwo", using Larry's new <> qw
# Oh, why stop there?
/../g = sub { ... } # Calls the sub 3 times, replacing each pair of
# characters with the return value.
--
The course of true anything never does run smooth.
-- Samuel Butler