[Vienna-pm] Zeilenumbruch ersetzen

josef schmid e9427749 at stud4.tuwien.ac.at
Fri Dec 5 14:05:56 PST 2008


Stefan Weiss schrieb:
> On 2008-12-05 21:29, Fabio Valeri wrote:
[...]

> Das legt nahe, dass ein Zeilenumbruch innerhalb einer Zelle als \n (line
> feed) vorliegt, und das Zeilenende \r\n (carriage return + line feed) ist.
> 
[...]
> 
> Probier's mal so:
> 
> $/ = "\r\n";
> while (<INPUT>) {
>     chomp(my $row = $_);
>     $row =~ s/\n/xxx/g;
>     print "$row<tr>\n";
> }
> 
[...]

> Die spezielle Variable $/ legt fest, welche Zeichen(folge) Perl als
> Zeilenende ansieht. --> perldoc perlvar

Für die Eingabe:
Wenn man "use English '-no_match_vars';" verwendet, auch
$INPUT_RECORD_SEPERATOR.

Aber was ich eigentlich anmerken wollte:
Er braucht wahrscheinlich auch noch "binmode *INPUT;"
da unter Wind*** ist.

BTW. Es gibt sehr sehr viele CPAN-Module für CSV parsen.
Z.B. my $p= Text::CSV_XS->new({ eol=>"\r\n",sep_char=>';',
                                 binary=>1,verbatim=>1 });
      my @result=$p->getline(\*INPUT);


Alle Behauptungen ungetestet!

pfiateng,
   Jos "open my $input, '<',$filename or die" ef


More information about the Vienna-pm mailing list