Heim > System-Tutorial > Windows-Serie > Umgang mit UTF8 mit Perl auf der Windows-Konsole

Umgang mit UTF8 mit Perl auf der Windows-Konsole

王林
Freigeben: 2024-01-12 09:42:05
nach vorne
1054 Leute haben es durchsucht

Umgang mit UTF8 mit Perl auf der Windows-Konsole

Wie man mit UTF8 mit Perl auf der Windows-Konsole umgeht

Die Konsole ist für die Verwendung von UTF8 ausgelegt und die angezeigten Schriftarten sind ebenfalls hässlich. Was sollen wir tun, wenn das Perl-Programm und die von Perl zu lesenden Dateien UTF8-Codierung verwenden? Schauen wir uns zunächst den folgenden Ablauf an:

#!/usr/bin/perl

Verwenden Sie die Kodierung 'utf8', STDIN=>'gb2312', STDOUT=>'gb2312';

open(FILE,"c:\test1.txt");

binmode(DATEI,":encoding(utf8)");

@lines=;

close(DATEI);

for($i=0; $i

$lines[$i] drucken;

Drucken "n";

}

$str="Hallo";

print $str;

Dieses Programm verwendet Perl, um eine Textdatei test1.txt zu lesen und sie dann auf der Konsole anzuzeigen. Der Schlüssel ist:

1. Verwenden Sie die Kodierung 'utf8', STDIN=>'gb2312', STDOUT=>'gb2312';

Kodierung „utf8“ verwenden: Geben Sie das Kodierungsformat der Skriptdatei als utf8;

an

STDIN=>'gb2312', STDOUT=>'gb2312': Eingabe und Ausgabe verwenden den Zeichensatz GB2312.

Auf diese Weise können die chinesischen Zeichen im Perl-Skript ausgegeben werden.

2:binmode(FILE,":encoding(utf8)");

Geben Sie das Kodierungsformat der geöffneten Datei FILE als utf8 an, damit die Daten korrekt in @lines eingelesen werden können.

Dadurch kann Perl UTF8-Zeichen auf der Windows-Konsole verarbeiten.

So liest man die letzte Textzeile mit einer nicht leeren Zeichenfolge in Perl

Die drei Methoden sind wie folgt:

#!/bin/perl -w

streng verwenden;

my $str = "abcsfsaf#sdagasdga#sdgaghoiiopjh#dsfjkopa hkl;fjh#dsjfklpafj";

########### Methode 1

mein $pos = -1;

meine $num = 0;

while (($pos = index($str, "#", $pos)) >-1) {

print "gefunden bei $posn";

$pos++;

$num++;

}

print "Gefunden $num!n";

############################################ ###########

#Methode 2

my $count = 0;

while( $str =~ /#/g )

{

$count++;

}

print $count,"n";

#######################################

# Methode 3

mein $cc = 0;

mein $tmp = 0;

if( $tmp = () = ($str =~ /#/g ) )

{

$cc += $tmp;

}

drucken "$ccn";

Verwenden Sie die Perl-Sprache: Schreiben Sie ein Programm, um eine Wortfolge einzulesen und jedes Wort in einer Zeile auszugeben

#/usr/bin/perl

open (IN, 'D:\words.txt ') ||. die $!;

@words=();

in der Nähe;

open (OUT,'>','D:\wordlist.txt')oder sterben $!;

foreach $line(@words){

$line=~s/n//g;

@words=split /s+/,$line;

foreach $word(@words){

$word=~s/W+//;

$freq {$word}++;

print OUT $word ."=>" $freq{$word}."n";

}

}

schließen AUS;

Sie können dieses Programm ausprobieren. Die Datei kann den Originaltext direkt lesen, ohne ein Wort pro Zeile schreiben zu müssen! Bei Fragen kontaktieren Sie uns bitte!

Lernen Sie eine Perl-Programmfrage: Lesen Sie den Inhalt aus der Datei und der Inhalt ist ein Text in einer Zeile

#!/usr/bin/perl -w

streng verwenden;

die "perl $0 " es sei denn(@ARGV==1);

öffnen (IN,$ARGV[0]) oder sterben "Datei $ARGV[0]!n";

kann nicht geöffnet werden

open (OUT,">data2") or die "Datei data2n kann nicht erstellt werden;

while(){

chomp;

mein @tmp=split /t/,$_;

for(my $tmpc=1;$tmpcif($tmp[$tmpc-1] eq $tmp[$tmpc]){

ausdrucken "$tmp[$tmpc-1]@2t@@@";

$tmpc++;

nächster;

}

print OUT „t$tmp[$tmpc-1]“;

}

ausdrucken"n";

}

Das obige ist der detaillierte Inhalt vonUmgang mit UTF8 mit Perl auf der Windows-Konsole. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:docexcel.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage