in reply to A subroutine is a reference to a list of statements

As t'mo said, you do need the sub keyword to do something like this currently. However, you can in fact assign a subroutine, with the help of AUTOLOAD and the new lvalue subroutine feature in 5.6.
use 5.006_001; sub AUTOLOAD : lvalue { *{ $AUTOLOAD } } &add = sub { shift() + shift() }; print add(17, 25), "\n";
It doesn't allow you to manipulate the subroutine as a list of statements, and you can only assign the subroutine once, but maybe it could be useful anyway. :D