Re: [問題] 新手請問取代檔案內容的寫法

看板Perl作者 (0x5f3759df)時間4年前 (2020/05/16 16:51), 4年前編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
提供兩個方法,很久沒有寫 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
文章代碼(AID): #1UlwceRf (Perl)
文章代碼(AID): #1UlwceRf (Perl)