in reply to Is it hash??

First of all, please use  <code> ... </code> tags as advised in Writeup Formatting Tips and Markup in the Monastery. To fix your OP, please see How do I change/delete my post?

I don't know what is "$test -> {'RecordType'} = UNKNOWN;".

$test is a hash (or associative array) reference.
$test->{'RecordType'} accesses a key of the hash that is referenced.
$test->{'RecordType'} = UNKNOWN; assigns a value to a key of the hash. Unfortunately, it seems as if the bareword  UNKNOWN is being assigned, which has no value. This error would have been caught if the statement
    use strict;
had been placed at the beginning of the code.

c:\@Work\Perl\monks>perl -le "use warnings; use strict; ;; use Data::Dumper; ;; my $test; ;; $test->{'RecordType'} = 'UNKNOWN'; ;; print Dumper $test; " $VAR1 = { 'RecordType' => 'UNKNOWN' };

Please consider these points and we can go forward from here. (Update: Actually, these seem like pretty basic questions, so maybe take a look at perlintro and some of the articles in Getting Started with Perl first.)


Give a man a fish:  <%-{-{-{-<