You would probably be better off using use vars qw// instead of my, since it is more like our. And as for a real world situation, how about a closure where you want to use a var declared outside of the closure, but without "making a copy of the var".