my $var = 0; while (condition) { # read var; gets changed by sub2 on occasion sub1() sub2() } sub1 { # read $var; gets changed by sub2 on occasion } sub2 { # update $var }