in reply to update a file

"Doesn't work" isn't very helpful. You should include your error message or tell us what you're expecting the code to do and how it fails to meet your expectations.

Also, reset is a Perl built-in function. The way you're calling it ensures that your user-defined subroutine will be called, but it's kind of "icky" to use built-ins' names for user-defined subroutines.