ホームページ  >  記事  >  システムチュートリアル  >  Windows コンソールで Perl を使用して UTF8 を処理する方法

Windows コンソールで Perl を使用して UTF8 を処理する方法

王林
王林転載
2024-01-12 09:42:051017ブラウズ

Windows コンソールで Perl を使用して UTF8 を処理する方法

Windows コンソールで Perl を使用して UTF8 を処理する方法

コンソールは UTF8 を使用するように設計されており、表示されるフォントは醜いです。Perl プログラムおよび Perl が読み取るファイルが UTF8 エンコードを使用している場合はどうすればよいですか?まず次のプログラムを見てください:

#!/usr/bin/perl

エンコーディング 'utf8'、STDIN=>'gb2312'、STDOUT=>'gb2312';

を使用してください。

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

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

@行=;

閉じる(ファイル);

for($i=0; $i

$lines[$i]を印刷;

「\n」を印刷;

}

$str="こんにちは";

$str;

を印刷

このプログラムは、Perl を使用してテキスト ファイル test1.txt を読み取り、コンソールに表示します。キーは次のとおりです:

1. エンコーディング 'utf8'、STDIN=>'gb2312'、STDOUT=>'gb2312';

を使用します。

エンコーディング 'utf8' を使用: スクリプト ファイルのエンコーディング形式を utf8 として指定します;

STDIN=>'gb2312', STDOUT=>'gb2312': 入力と出力には GB2312 文字セットが使用されます。

このようにして、Perlスクリプト内の漢字を出力することができます。

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

@lines にデータを正しく読み込めるように、開くファイル FILE のエンコード形式を utf8 に指定します。

これにより、Perl が Windows コンソール上で UTF8 文字を処理できるようになります。

Perl が空の文字列ではないテキストの最後の行を読み取る方法

3 つの方法は次のとおりです。

#!/bin/perl -w

厳密を使用;

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

方法 1

私の $pos = -1;

私の $num = 0;

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

print "$pos で見つかりました\n";

$位置 ;

$番号 ;

}

print "$num 個見つかりました!\n";

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

# 方法 2

私の $count = 0;

while( $str =~ /#/g )

{

$カウント ;

}

print $count,"\n";

# 方法 3

私の $cc = 0;

私の $tmp = 0;

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

{

$cc = $tmp;

}

print "$cc\n";

Perl 言語を使用します。単語の文字列を読み取り、各単語を 1 行に出力するプログラムを作成します。

#/usr/bin/perl

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

@単語=();

INを閉じる;

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

foreach $line(@words){

$line=~s/\n//g;

@words=分割 /\s /,$line;

foreach $word(@words){

$word=~s/\W //;

$頻度 {$word} ;

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

}

}

終了;

このプログラムを試してみてください。ファイルの各行に一言も書き込まなくても、元のテキストを直接読むことができます。ご質問がございましたら、お気軽にお問い合わせください。

Perl プログラムの質問を教えます: ファイルからコンテンツを読み取り、そのコンテンツは行内のテキストです

#!/usr/bin/perl -w

厳密を使用;

###die "perl $0 " until(@ARGV==1);### ###open (IN,$ARGV[0]) or die "ファイル $ARGV[0] を開けません!\n";### ###open (OUT,">data2") or die "ファイル data2 を作成できません\n";### ###その間(){### ###むしゃむしゃ;### ###my @tmp=split /\t/,$_;### ###for(my $tmpc=1;$tmpcif($tmp[$tmpc-1] eq $tmp[$tmpc]){### ###print OUT "$tmp[$tmpc-1]\@2\t\@\@\@";### ###$tmpc ;### ###次;### ###}### ###出力 "\t$tmp[$tmpc-1]"を出力します;### ###}### ###出力 "\n";### ###}###

以上がWindows コンソールで Perl を使用して UTF8 を処理する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はdocexcel.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。