[ $var1, undef, [ undef, undef, { 'foo' => $var2 } ], { 'bar' => $var3 } ]; #### my $unknown = [ undef, undef, $var ]; #### my @structures = ( [ qw/ 1 2 3 / ], [ qw/ this that other / ], [ qw/ un deux trois / ], ); #### foreach my $structure (@structures) { bind($unknown, $structure); print $var->value; } #### my $struct = [ 'whaa!', undef, [undef, undef, { foo => 3}], { bar => 'baz'}, ]; my $path = "[2][2]{foo}"; $var->bind( eval "\$struct->$path" ); #### foreach my $path (find_logic_var($unknown_struct)) { push @paths => $path; }