文字列を分解し、1文字ずつ処理を行いたい。半角、1バイト文字のみ(英数字など)だけなら、標準のsplit関数を用いれば良い。 splitの分割条件で何も指定しないと、1byteずつ分割してくれる。
サンプル
;# ;#文字列を1文字ずつ分割する (半角のみ) ;# #-- 分割 --# @char = str2char('Hello! World'); #-- 表示 --# foreach my $c (@char){ print "$c\n"; } #--------------------------------------- #1byteずつ分割する #--------------------------------------- sub str2char{ my $str = shift; return( split(//, $str) ); }
実行例
H
e
l
l
o
!
W
o
r
l
d