如何在Windows控制台上利用Perl處理UTF8
制定控制台使用UTF8,顯示出來的字體也很難看,當Perl程式和Perl要讀取的檔案都使用UTF8編碼時,該怎麼辦呢?先看如下程式:
#!/usr/bin/perl
use encoding 'utf8', STDIN=>'gb2312', STDOUT=>'gb2312';
open(FILE,"c:\\test1.txt");
binmode(FILE,":encoding(utf8)");
@lines=
close(FILE);
for($i=0; $i
print $lines[$i];
print "\n";
}
$str="你好";
print $str;
該程式用Perl去讀取一個文字檔test1.txt,然後顯示到控制台上。關鍵在於:
1. use encoding 'utf8', STDIN=>'gb2312', STDOUT=>'gb2312';
use encoding 'utf8' : 指定該腳本檔案的編碼格式為utf8;
STDIN=>'gb2312', STDOUT=>'gb2312': 輸入與輸出採用GB2312字元集。
這樣,Perl腳本中的漢字即可被輸出。
2:binmode(FILE,":encoding(utf8)");
指定開啟的檔案FILE的編碼格式為utf8,這樣就能正確的讀入資料到@lines中了。
這樣就實作了Perl在Windows控制台上處理UTF8字元了。
Perl如何讀取文字的最後一行非空字串
三個方法如下:
#!/bin/perl -w
use strict;
my $str = "abcsfsaf#sdagasdga#sdgaghoiiopjh#dsfjkopa hkl;fjh#dsjfklpafj";
## 方法一my $pos = -1;
my $num = 0;
while (($pos = index($str, "#", $pos)) >-1) {
print "found at $pos\n";
$pos ;
$num ;
}
print "找到$num個!\n";
# 方法二
my $count = 0;
while( $str =~ /#/g )
{
$count ;
}
print $count,"\n";
## 方法3
my $cc = 0;
my $tmp = 0;
if( $tmp = () = ($str =~ /#/g ) )
{
$cc = $tmp;
###}### ###print "$cc\n";### ###用Perl語言:寫一個程式讀入一串單字一個單字一行輸出每一 ### ####/usr/bin/perl### ###open (IN, 'D:\\words.txt ') || die $!;### ###@words=();### ###close IN;### ###open (OUT,'>','D:\\wordlist.txt')or die $!;### ###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";### ###}### ###}### ###close OUT;### ###你試試看這個程序,檔案可以不用每行一個單詞,直接讀取原始文字就好!有問題再交流! ### ###教一個perl程式題:從檔案中讀取內容內容就一排是一些文字 ### ####!/usr/bin/perl -w### ###use strict;### ###die "perl $0 " unless(@ARGV==1);### ###open (IN,$ARGV[0]) or die "Can't open file $ARGV[0]!\n";### ###open (OUT,">data2") or die "Can't create file data2\n";### ###while(){### ###chomp;### ###my @tmp=split /\t/,$_;### ###for(my $tmpc=1;$tmpcif($tmp[$tmpc-1] eq $tmp[$tmpc]){### ###print OUT "$tmp[$tmpc-1]\@2\t\@\@\@";### ###$tmpc ;### ###next;### ###}### ###print OUT "\t$tmp[$tmpc-1]";### ###}### ###print OUT "\n";### ###}###以上是如何在Windows控制台上利用Perl處理UTF8的詳細內容。更多資訊請關注PHP中文網其他相關文章!

Powertoys:在家中工作的窗戶工作經驗會帶來獨特的生產力挑戰。 分心很多,要求一個集中的工作空間。 PowerToys有助於優化您的家庭辦公室,無論是專用空間還是

找回丟失的Windows 10產品密鑰:兩種方法 您是否在安裝正版Windows 10後丟失了產品密鑰?別擔心,本文將介紹兩種找回密鑰的方法,以便您日後重新安裝系統。 情況一:已安裝Windows 10但丟失密鑰 即使您是通過免費升級或正版安裝獲得Windows 10,只要您的電腦能夠正常運行,您都可以使用iSumsoft產品密鑰查找器輕鬆找到產品密鑰。 方法一:使用iSumsoft產品密鑰查找器 下載並安裝: 下載並安裝iSumsoft產品密鑰查找器到您的電腦上。 查找產品密鑰: 啟動

在2023年下半年,微軟發布了Windows 11 23H2系統。許多用戶迫不及待地想將電腦升級到最新版本,但部分用戶在嘗試在不支持的電腦上安裝Windows 11 23H2時,遇到了“此電腦不符合最低要求...”的錯誤提示。 別擔心!本文將提供一個逐步指南,教你如何在不支持的電腦上安裝Windows 11 23H2。讓我們開始吧! 注意: 微軟表示,“在不支持的電腦上安裝Windows 11 不推薦。如果您選擇在不符合條件的硬件上安裝Windows 11,則應承擔遇到兼容性問題的風險。” 準

2025年最佳人體工學鍵盤推薦 人體工學鍵盤與普通鍵盤功能相同,但增加了支撐功能,以減少手腕、手部和手指的壓力。這些鍵盤的設計能讓您的手和手腕保持更自然的姿勢,有助於最大限度地減少肌肉勞損,並防止長時間打字造成的潛在損傷。 市面上有各種各樣的符合人體工學設計的鍵盤,因此在購買之前,務必考慮哪些功能對您最重要。從佈局到設計,每種類型都根據您的喜好和需求提供獨特的好處。 大多數人體工學鍵盤屬於兩大類。第一類是分體式鍵盤,顧名思義,它將按鍵佈局分成兩部分,以實現更自然的手腕姿勢。分體式鍵盤有兩種形式:

ACER PD163Q雙便攜式顯示器:連通性噩夢 我對Acer PD163Q寄予厚望。雙重便攜式顯示器的概念是通過單個電纜方便地連接的,非常吸引人。 不幸的是,這個誘人的想法quic

通過這些簡單的自定義步驟來增強Windows 10 PowerShell體驗!本指南向您展示瞭如何調整PowerShell字體並啟用自動文本包裝,以提高可讀性和最佳的窗口擬合。 讓我們開始:步驟1

升級到Windows 11:增強您的PC遊戲體驗 Windows 11提供令人興奮的新遊戲功能,可顯著改善您的PC遊戲體驗。 對於從Windows 10移動的任何PC遊戲玩家來說,此升級值得考慮。 自動HDR:Eleva

Windows 10中的訪問文件Explorer選項:本指南提供了三種簡單的方法,可以在Windows 10中打開文件Explorer選項,從而使您可以自定義文件和文件夾視圖,打開項目和搜索功能的設置。 m


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3漢化版
中文版,非常好用

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)