Re: [問題] 新手請問取代檔案內容的寫法
提供兩個方法,很久沒有寫 Perl 了,可能寫起來不是很好。
use strict;
use feature qw(switch);
no warnings qw(experimental::smartmatch);
# using LUT method
my %maps = ('NTU' => 112,
'NCTU' => 113,
'NTHU' => 114,
'NCU' => 115,
'NCKU' => 116);
my $str1 = "NTU NCU NCTU NTHU NCKU";
$str1 =~ s/(\w+)/$maps{$1}/g;
print $str1,$/;
# replacing string with function
sub convert {
given (shift)
{
when ('NTU') { return 112; }
when ('NCTU') { return 113; }
when ('NTHU') { return 114; }
when ('NCU') { return 115; }
when ('NCKU') { return 116; }
}
die 'invalid argument';
}
my $str2 = "NTU NCU NCTU NTHU NCKU";
$str2 =~ s/(\w+)/convert($1)/eg;
print $str2,$/;
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 35.194.169.177 (美國)
※ 文章網址: https://www.ptt.cc/bbs/Perl/M.1589619112.A.6E9.html
※ 編輯: LiloHuang (35.194.169.177 美國), 05/16/2020 17:54:57
※ 編輯: LiloHuang (35.194.169.177 美國), 05/16/2020 17:55:24
※ 編輯: LiloHuang (35.194.169.177 美國), 05/16/2020 19:31:39
討論串 (同標題文章)
完整討論串 (本文為第 2 之 2 篇):
Perl 近期熱門文章
PTT數位生活區 即時熱門文章