Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW
 
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 (Cardinal) 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 taking refuge in the Monastery: (19)
As of 2014-07-11 16:03 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    When choosing user names for websites, I prefer to use:








    Results (231 votes), past polls