以下のハッシュの配列を使用しており、4 つの特定のパラメーターが同じである場合、「日時」に基づいて最新のハッシュのみを表示したいと考えています。以下のコードを使用して例を挙げましょう...
「おもちゃ、種類、ステージ、ステップ」が同じ場合、そのハッシュのみを新しいハッシュ配列に格納したいと思います。
ハッシュの元の配列
$VAR1 = [
{
'Color' => 'green',
'2nd Color' => 'blue',
'3rd Color' => 'yellow',
'toy' => 'truck',
'toy_type' => 'ford',
'kind' => '4door',
'Stage' => 'Production',
'Step' => 'Platform',
'Datetime' => '2012/06/08 01:49:19'
},
{
'Color' => 'red',
'2nd Color' => 'green',
'3rd Color' => 'yellow',
'toy' => 'truck',
'toy_type' => 'ford',
'kind' => '4door',
'Stage' => 'Production',
'Step' => 'Platform',
'Datetime' => '2012/06/08 01:46:17'
},
{
'Color' => 'red',
'2nd Color' => 'blue',
'3rd Color' => 'green',
'toy' => 'truck',
'toy_type' => 'chevy',
'kind' => '4door',
'Stage' => 'Production',
'Step' => 'Platform',
'Datetime' => '2012/06/08 01:52:14'
},
{
'Color' => 'red',
'2nd Color' => 'blue',
'3rd Color' => 'yellow',
'toy' => 'truck',
'toy_type' => 'chevy',
'kind' => '4door',
'Stage' => 'Production',
'Step' => 'Platform',
'Datetime' => '2012/06/08 01:24:14'
},
{
'Color' => 'white',
'2nd Color' => 'blue',
'3rd Color' => 'yellow',
'toy' => 'truck',
'toy_type' => 'gmc',
'kind' => '4door',
'Stage' => 'Production',
'Step' => 'Platform',
'Datetime' => '2012/06/08 06:24:14'
},
変数に保存したいハッシュの新しい配列:
$VAR2 = [
{
'Color' => 'green',
'2nd Color' => 'blue',
'3rd Color' => 'yellow',
'toy' => 'truck',
'toy_type' => 'ford',
'kind' => '4door',
'Stage' => 'Production',
'Step' => 'Platform',
'Datetime' => '2012/06/08 01:49:19'
},
{
'Color' => 'red',
'2nd Color' => 'blue',
'3rd Color' => 'green',
'toy' => 'truck',
'toy_type' => 'chevy',
'kind' => '4door',
'Stage' => 'Production',
'Step' => 'Platform',
'Datetime' => '2012/06/08 01:52:14'
},
{
'Color' => 'white',
'2nd Color' => 'blue',
'3rd Color' => 'yellow',
'toy' => 'truck',
'toy_type' => 'gmc',
'kind' => '4door',
'Stage' => 'Production',
'Step' => 'Platform',
'Datetime' => '2012/06/08 06:24:14'
},
最新の ford と最近の chevy だけを保存したかったのですが、gmc が 1 つしかなかったため、それも保存したかったことに注意してください。
perldsc (http://perldoc.perl.org/perldsc.html) のドキュメントを参照していましたが、ここまで詳細には触れていませんでした。これは可能ですか?