Data::Dumper
のように動作する一般的なPerlモジュールはありますが、複雑な構造やオブジェクトの中のデータを操作するフックを書くことができます。Data :: Dumperのように動作するが、データ操作を可能にするPerlモジュール
Googleで表示されるモジュールは、Data::Visitor
やData::Structure::Util
のようにいくつかありますが、それらは人気があるかどうかはわかりません。
Data::Dumper
のように動作する一般的なPerlモジュールはありますが、複雑な構造やオブジェクトの中のデータを操作するフックを書くことができます。Data :: Dumperのように動作するが、データ操作を可能にするPerlモジュール
Googleで表示されるモジュールは、Data::Visitor
やData::Structure::Util
のようにいくつかありますが、それらは人気があるかどうかはわかりません。
これを行うにはData :: Dmapを記述しましたが、前述のようにData::Rmap
,Data::Transformer
およびData::Visitor
も該当します。
Data::Dmap
の基本的な考え方は、ネストされたデータ構造内のすべてのものを変換することができ、まだ組み込みのマップ関数のように動作しようとしていることです。
私はそれがあなたが意味するものではありませんが、Data::Dumpはダンプされたデータをフィルタリングするフックをサポートしています。同様のフックはData::Printerでも可能です。
編集:編集が必要な場合は、Data::RmapまたはData::Transformerとなります。また、構造が単純な場合(スカラ、ハッシュ、配列のみ)、単純な再帰的なトラバーサルを自分で行うことができます。
YAML
は素敵なシリアライズ形式で、文字列の値などを簡単に編集できます。すべてのオブジェクトを処理するわけではありませんが、試してみる価値があり、簡単にシリアル化してリロードします。
私が必要とするのは、(オブジェクトを含むかもしれない)構造内のすべての文字列値を50と置き換えるなど、複雑な構造のデータをインプレースで修正することです。 – romerun
@romerun - 私の答えに編集するためのモジュールを追加しました。 。 – bvr