http://www.perlmonks.org?node_id=599281


in reply to Dropping the ampersand

I can't tell whether this affects you without seeing the rest of your code, but there's a small difference between &foo and foo(). Specifically, &foo will get the current contents of @_ while foo() will not. If Con::liveones is expecting that, then that may be your problem.

bar( qw( testing is fun ) ); sub bar { &foo; foo(); &foo(); foo( 'woohoo' ); } sub foo { print 'foo: '; print join q{,}, map { "[$_]" } @_; print "\n"; }

Outputs:

foo: [testing],[is],[fun] foo: foo: foo: [woohoo]