Unquoted string "erase" may clash with future reserved word at (#1) (W reserved) You used a bareword that might someday be claimed as a reserved word. It's best to put such a word in quotes, or capitalize it somehow, or insert an underbar into it. You might also declare it as a subroutine. #### print {"erase"} "LOL"; #### use warnings; use strict; use autodie; open my $fh, '>', 'lol.txt'; print $fh 'LOL'; close $fh;