Beefy Boxes and Bandwidth Generously Provided by pair Networks
Problems? Is your data what you think it is?
 
PerlMonks  

Re: csv file is not opening using use strict

by Khen1950fx (Canon)
on Sep 07, 2012 at 00:31 UTC ( #992215=note: print w/ replies, xml ) Need Help??


in reply to csv file is not opening using use strict

The problem is in print:

print "$fields[0] fields[1]";
That shouuld be
print "$fields[0] $fields[1]";
Note that my @fields should be parenthesized to get a list; also, you opened $data, so don't forget to close it.
#!/usr/bin/perl -l BEGIN { $| = 1; $^W = 1; } use strict; use autodie; use warnings; my $file_c = '/root/Desktop/file1.csv'; open my $data, '<', $file_c or die "Could not open file: $!"; while ( defined( my $line = <$data> ) ) { do { next if ( $. == 1 ); chomp $line; my (@fields) = split( /,/, $line, 0 ); print "$fields[0] $fields[1]"; }; } close $data;


Comment on Re: csv file is not opening using use strict
Select or Download Code
Re^2: csv file is not opening using use strict
by GrandFather (Sage) on Sep 07, 2012 at 01:07 UTC

    That is a problem. It is not the problem. The missing $ does not cause any error or warning message to be generated because it is in a string.

    True laziness is hard work
Re^2: csv file is not opening using use strict
by chromatic (Archbishop) on Sep 07, 2012 at 01:28 UTC
    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?

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://992215]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others about the Monastery: (15)
As of 2015-07-06 18:22 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The top three priorities of my open tasks are (in descending order of likelihood to be worked on) ...









    Results (80 votes), past polls