Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]8784[/thread]

Problem beim entfernen von ^M am Zeilenende



<< >> 5 Einträge, 1 Seite
krusty
 2007-02-23 11:07
#74532 #74532
User since
2006-01-27
91 Artikel
BenutzerIn
[default_avatar]
Hallo zusammen,

in einer CSV Datei die ich einlesen will habe ich am Zeilenende, beim berachten mit vi, ^M stehen. Wie kann ich dieses Sonderzeichen bzw. diesen Zeilenumbruch entfernen? Mit chomp und chop funktioniert es nicht. Der Zeilenumbruch bleibt weiter bestehen. Hat jemand von euch eine Idee wie ich das Problem in den Griff bekomme?

Gruß
renee
 2007-02-23 11:19
#74533 #74533
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Code: (dl )
$_ =~ s/\r$// for @lines;
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Strat
 2007-02-23 12:44
#74534 #74534
User since
2003-08-04
5246 Artikel
ModeratorIn
[Homepage] [default_avatar]
chomp entfernt nur, was in $/ steht; wenn die Datei unter Linux Windows-Zeilenenden hat (CR-LF bzw. \r\n), dann passe ich gerne das Zeilenendenzeichen $/ an, z.B.
Code: (dl )
1
2
3
4
5
6
7
8
9
unless( open( $FH, "<", $filename ) ) {
die "Error: couldn't open file '$filename': $!\n";
} # unless
else {
local $/ = chr(13) . chr( 10 );
@lines = <$FH>;
close( $FH );
chomp @lines;
} # else

oder so aehnlich. Hilfreich ist dabei, wenn man das veraenderte $/ nur in einem moeglichst kleinen Block gueltig lassen kann (deshalb das local), damit es nicht unabsichtlich das Lesen anderer Dateien beeinflusst.

Eine meiner Meinung nach bessere Alternative ist, die Datei von Windows aus im ASCII-Modus hochladen zu lassen.\n\n

<!--EDIT|Strat|1172227489-->
perl -le "s::*erlco'unaty.'.dk':e,y;*kn:ai;penmic;;print"
http://www.fabiani.net/
anti
 2007-02-23 22:52
#74535 #74535
User since
2003-11-29
155 Artikel
BenutzerIn
[default_avatar]
Jetzt mal unabhängig von Perl: Was sagt dos2unix?

Siehe vim.org

greetz, anti
vayu
 2007-02-24 16:12
#74536 #74536
User since
2005-01-13
782 Artikel
BenutzerIn
[default_avatar]
oder ganz simpel
Code: (dl )
flip
<< >> 5 Einträge, 1 Seite



View all threads created 2007-02-23 11:07.