skillup

技術ブログ

Perl

Perlの配列、ハッシュ系の処理 (mapを中心に)

投稿日:2016年1月23日 更新日:

昨日書いたgrepに続き、mapについて調べたことを書いてみました。

mapとは?

grepが「抽出」を行うことに対して、mapは「変換」を行います。

基本的な変換の処理は

変換した配列、ハッシュ = map 条件式 配列

のようになります。

mapを使った配列処理 基本

一番簡単なのは下記のようなプログラムでしょう。

このようにforで展開する処理と基本的には一緒で、より短く表現することができます。

ハッシュを使い、下記のようなコードを書くこともできます。

mapを使った配列、ハッシュ処理 ハッシュを含む多次元配列への応用

例よって実務で一番多い多次元ハッシュタイプの処理での応用例です。

ハッシュの展開

mapの使用例ではないのですが、ハッシュの出力をかいておきます。

eachというのはかなり有名なようですが、知らない方もいるようですね。

知っておくとできることの幅が広がってよいと思います。

参考リンク

ハッシュの配列をdeep copyする

【perl】grep、mapでいろいろやる(配列からkey=>1のhashに変換、リストからユニークな値の取得、2つの配列をマッピングしてhashに変換)

Perlゼミ map関数 – 配列のすべての要素の変換

-Perl
-, ,

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Perlでのデータベース差分チェックツール

Perlにてデータベースの差分が発生したときに簡単に差分を埋めるためのSQLを書くライブラリがあったので紹介。 ライブラリがない場合、cpan SQL::Translator でまずライブラリをCPA …

no image

Perlでの変数、配列、ハッシュに関して ~リファレンスなど~

こちらのブログでプログラミングを教えてるんですけど、プログラミングの基本といえば配列とオブジェクト指向だと思います。 もちろん、これ以外のことも大切ですが、初心者のうちはここを抑えておけばとりあえず何 …

no image

Perlの文字コードについて その3

実際のPerlでの文字処理に関しては以前の記事でも書いたように下記の原則を守ればOKです。  原則1 外部から入力された文字列はデコードして内部文字列に変換する  原則2 外部へ出力する文字列はエンコ …

no image

Perlの配列、ハッシュ系の処理(grepを中心に)

Perlの配列やハッシュで便利そうな処理をgrepを中心にいろいろ調べてみました。 Contents1 grepとは?2 grepを使った配列処理 基本3 grepを使った配列処理 ハッシュを含む多次 …

no image

Perlでの動的改行コード読み込みに関して+cp932ネタ

本日はperlにて改行コードを動的に読み込む方法です。 Contents1 動的な改行コードの判定・読み込み2 ShitfJISとcp932について 動的な改行コードの判定・読み込み 実務で古いMAC …