Thread match anhand von unicode control code
(10 answers)
Opened by miwieg at 2018-01-14 13:05
hast du den string als UTF-8 aus der datei gelesen oder nur als "RAW" string:
open(my $fh, '<:encoding(UTF-8)', $file) vs. open(my $fh, '<', $file) Um ein Match mit "\x{263a}" machen zu können muss perl den String dekodiert haben. Das macht man entwder beim laden mit ":encoding(...)" oder später mit dem Modul "Encode". Beispiel(ungetestet): Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 -!/usr/bin/perl use strict; use warnings; open(my $fh, '<:encoding(UTF-8)', './test.txt') or die($!); while(my $line = <$fh>){ if($line=~/\x{263a}/) { print "gefunden\n"; } } Wenn du die UTF-8 Zeichen direkt in den code setzen willst muss du use utf8; benutzten um perl mitzuteilen der das der Code selber UTF-8 kodiert ist. Last edited: 2018-01-14 16:06:20 +0100 (CET) |