in reply to Modifying passed-in variables

Maybe you meant to write:
use strict; use warnings; my $data = 3; foo ($data); sub foo { my ($data) = @_; $data++; print $data; print "\n"; }