my $foo = Something.new(); #### sub foo($x, $y) { say $x ~ $y } my $foo_ref = &foo; # leaves $foo_ref writable my $foo := &foo; # basically the same, but you can't # assign to $foo afterwards # passing values to a signature is a form of # binding too, so this works: sub c(&func) { func(42, 23); } c(&foo); c($foo); c($foo_ref);