add table.pm and its test file(first commit)