こんにちは、こんばんはおはようございます。nihenです。 自分のよく使っているモジュールであまり他で紹介されていないものって何かなーと探していたらCGI::Expandはあまり紹介されてないなと思ったので紹介します。 CGI::Expandという名前がついていますが、CGI.pmやCommonGatewayInterfaceとはそんなに関係がありません。 このモジュールの使いどころですが、httpのリクエストにおけるパラメータの受け渡しは key=value&key2=value といった、フラットなハッシュデータなわけです。ただしよく配列を表すのに key=value&key=value2&key=value3 といったデータで受け渡しを行うことがあります。こういったデータに対してしてCGI.pmの->paramはArrayRefを返すようになっていますし、Plack::Request
![CGI::Expand - フラットなハッシュをネストデータに変換 - Articles Advent Calendar 2011 Casual](https://cdn-ak-scissors.b.st-hatena.com/image/square/7074a365b6c5da4815cc8ea50269dc0760730df7/height=288;version=1;width=512/https%3A%2F%2Fres.cloudinary.com%2Fkfly8%2Fimage%2Fupload%2Fl_text%3ANotoSansJP-Black.otf_50_bold%3ACGI%253A%253AExpand%2520-%2520%25E3%2583%2595%25E3%2583%25A9%25E3%2583%2583%25E3%2583%2588%25E3%2581%25AA%25E3%2583%258F%25E3%2583%2583%25E3%2582%25B7%25E3%2583%25A5%25E3%2582%2592%25E3%2583%258D%25E3%2582%25B9%25E3%2583%2588%25E3%2583%2587%25E3%2583%25BC%25E3%2582%25BF%25E3%2581%25AB%25E5%25A4%2589%25E6%258F%259B%2Cco_rgb%3A000000%2Cw_900%2Cc_fit%2Fl_text%3ANotoSansJP-Black.otf_30_bold%3Anihen%2Cco_rgb%3A000000%2Cg_south_east%2Cx_130%2Cy_120%2Fv1601626948%2Fog-perl-users-jp.png)