use strict; use warnings; use autodie; my $filename = 'ourfile.txt'; # open call goes here. #### open my $fh, '<', $filename; # No warning; open my $fh, $filename or die $! # No warning; open my $fh, $filename; # Issues a warning. #### Parentheses missing around "my" list at mytest.pl line 11 (#1) #### (W parenthesis) You said something like my $foo, $bar = @_; when you meant my ($foo, $bar) = @_; Remember that "my", "our", "local" and "state" bind tighter than comma.