VMware vSphere perl API を呼び出す perl スクリプトに取り組んでいます。私はほとんど問題に直面していませんでしたが、グーグルで調べていると、うまくいくと思われる解決策が見つかりました。ただし、コードの重要な部分の 1 つはmap
. クレジットは、それを書いた VMware コミュニティ メンバーに与えられます。コードは次のとおりです。
$datastore_map = map { $_->{'mo_ref'}->{'value'} => $_ } @{$datastore_views || [ ]};
上記の行が何をしているのか理解できません。
では、上記の行を foreach ループなどに変換するのを手伝っていただけませんか。TMTOWTDI を信じると、同じロジックを記述する別の方法が必要になります。
何度も機能を学ぼうとしましmap
たが、いつも頭から離れます。したがって、関数を使用せずに上記のロジックを実装したいと考えていmap
ます。
編集:
%datastore_map
答えを読んだ後、それはすべきであり、すべきではないと思います$datastore_map
。コードの次の行は$datastore = $datastore_map->{$moref->{'value'}};
タイプミスに違いありません。
stacoverflow で許可されたら、回答を受け入れます。迅速な対応ありがとうございます。私はそれを理解しようとしてほぼ1時間費やしましたが、失敗しました。
ありがとう。
編集:
@nickisfat、@choroba、@ikegami の回答に感謝します。すべての答えは正しいですが、受け入れることができるのは 1 つだけです。なので、時系列で最初に投稿されたものでいきます。回答ありがとうございます。