in reply to Re: csv file is not opening using use strict
in thread csv file is not opening using use strict

print "$fields[0] fields1";

That's not going to cause a bareword error under strict.

BEGIN { $| = 1; $^W = 1; }

Why? Especially $^W?

Note that my @fields should be parenthesized to get a list...

Why? Under what circumstances does the declaration of an array not provide list context?

while ( defined( my $line = <$data> ) )

defined is unnecessary here because Perl will add it for you.

... also, you opened $data, so don't forget to close it.

The filehandle's stored in a lexical variable and it's the end of the program and you're not bothering to check the return value (for a filehandle opened for reading!), and the filehandle's at the end of the file at this point, and you have autodie in effect, so why bother?