#!/bin/env perl use strict; use Data::Dumper; use constant REQUIRED_FIELDS => qw/zero one two three four five six seven/; my $a = [qw/three one two/]; print Data::Dumper->Dump([$a], ['a']); verify($a); exit; sub verify { my $a = shift; my $fields = [REQUIRED_FIELDS]; my $href = {}; foreach my $e (@$a) { my $i; foreach my $field (@$fields) { if ($e eq $field) { $href->{$field} = 0; splice @$fields, $i, 0; print Data::Dumper->Dump([$i, $fields], [qw/i fields/]); } ++$i; } } print Data::Dumper->Dump([$href], [qw/href/]); }