#!\usr\bin perl use warnings; use strict; use diagnostics; use feature 'say'; open(FILE, "Text2.txt") or die; my @lines; foreach (my $i = 0; $i < @lines; $i++) { say $lines[$i]; } Error message: Name "main::FILE" used only once: possible typo at open.pl line 9 (#1) (W once) Typographical errors often show up as unique variable names. If you had a good reason for having a unique name, then just mention it again somehow to suppress the message. The our declaration is provided for this purpose. NOTE: This warning detects symbols that have been used only once so $c, @c, %c, *c, &c, sub c{}, c(), and c (the filehandle or format) are considered the same; if a program uses $c only once but also uses any of the others it will not trigger this warning.