Thanks to visit codestin.com
Credit goes to perldoc.perl.org

You are viewing the version of this documentation from Perl 5.18.4. View the latest version
lock THING

This function places an advisory lock on a shared variable or referenced object contained in THING until the lock goes out of scope.

The value returned is the scalar itself, if the argument is a scalar, or a reference, if the argument is a hash, array or subroutine.

lock() is a "weak keyword" : this means that if you've defined a function by this name (before any calls to it), that function will be called instead. If you are not under use threads::shared this does nothing. See threads::shared.