Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer
 
PerlMonks  

Re^5: Read text file - Encoding problem?

by better (Acolyte)
on Mar 17, 2013 at 15:14 UTC ( #1023917=note: print w/ replies, xml ) Need Help??


in reply to Re^4: Read text file - Encoding problem?
in thread Read text file - Encoding problem?

Thanks for this link!

Is it correct, that this Carriage return (cr) is obviously not removed by chomp? And that this could be the reason, why the regex (including cr) can not be matched to the array elements of read_dir (which have no cr)?

Well, I will try to remove cr by defining $/ = "\r\n" and I will see if the script is running

better

...and later:

It works!!!

After parsing the csv file and writing the entries of the first coloumn into a text file, stripping of the carriage return. My main script "search and copy files" works.

Thanks to all monks, who helped me to find enlightenment ;-)

I'm feeling much better now

And here is the code:

#! /usr/local/bin/perl # #script opens and parses CSV files #removes carriage return #and writes all into a new text file # #tested: --ok! use strict; use warnings; use Text::CSV; #use Encode; # probably not needed :encoding(utf8) #Input CSV filename my $file = $ARGV[0]; if (!$ARGV[0]) { $file = './data/IDs.csv'; #Default } if (!-f $file) { print "Kann Datei $file nicht finden: $!\n"; exit 1; } #Parsing CSV local $/ = "\r\n"; #add windows carriage return to perl's eol +(newline) my $csv = Text::CSV ->new ({binary =>1, eol => $/}); open (my $fhCSV, '<', $file) or die "Kann $file nicht öffnen $!\n"; open (my $fhOUT, '>', './data/IDs.txt') or die "Kann Datei nicht öffn +en: $!\n"; while (my $line = <$fhCSV>) { if ($csv->parse($line)) { my @fields = $csv->fields (); chomp (@fields); print $fhOUT "@fields\n"; } else { warn "Line could not be parsed: $line\n"; } } print "CSV parsed and saved as text file: /data/IDs.txt!"; close $fhCSV; close $fhOUT;


Comment on Re^5: Read text file - Encoding problem?
Download Code

Log In?
Username:
Password:

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

How do I use this? | Other CB clients
Other Users?
Others rifling through the Monastery: (8)
As of 2014-12-28 03:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    Is guessing a good strategy for surviving in the IT business?





    Results (178 votes), past polls