Thread \r\n und $ (11 answers)
Opened by Froschpopo at 2013-05-30 17:37

Linuxer
 2013-06-03 11:35
#167911 #167911
User since
2006-01-27
3875 Artikel
HausmeisterIn

user image
da muss ich bianca unterstützen; warum soll $line =~ /^.*$/ (unter Linux) nicht matchen, wenn $line == "irgendwas\x0d\x0a" (also String mit DOS-Umbruch) ist?

.* fängt den String und das \x0d ein, \x0a wird von . nicht abgedeckt und "bleibt als Zeilenende am Anker $ kleben".

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
$ file dos.txt
dos.txt: ASCII text, with CRLF line terminators

$ cat dos.txt
Dies ist ein
DOS-formatierter
Text mit "\r\n"
als Umbruch.

$ cat linebreak.pl
#! /usr/bin/perl
use strict;
use warnings;

use Data::Dumper;
$Data::Dumper::Useqq = 1;

my $file = shift or die "no file given.\n";

open my $fh, '<', $file or die "$file: $!\n";
my $line = <$fh>;

print "passt: ".Dumper($1) if $line =~ m{^(.*)$};

$ perl linebreak.pl dos.txt
passt: $VAR1 = "Dies ist ein\r";

$
meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen!

View full thread \r\n und $