• ベストアンサー

文字列スカラを3バイトごとのリスト値にしたい、最後のは3バイトで無くてもいい。

ある文字列を3バイト毎に配列に入れる書き方がわからず困っております。 $a = "ABCDEFGHIJK" @b = [ABC,DEF,GHI,JK]となって欲しいです。

質問者が選んだベストアンサー

  • ベストアンサー
  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

@b=($a =~ /(.{1,3})/g); か @b=unpack "(a3)*", $a;

mine_23
質問者

お礼

皆さん、すごいですね。 ちょっとお聞きしたいのですが、どのように解決されているのでしょうか? 1)本に載っていた 2)しばらく考えて、試行錯誤して見つけた。 3)簡単ですが、何か? 失礼ですが、どのパターンでしょうか?

その他の回答 (1)

回答No.1

while ($a =~ /(.{1,3})/g) { push(@b, $1); }

mine_23
質問者

お礼

非常に参考になります。