
the interface to {un}pack needs tidying up.

Errors need to be handles a bit better.

  unpack should not be passed a ref, but instead return how many octets
  it took, and undef on Error.

  pack just needs to return true/false as it always appends so there is no
  need to return octet count.


docs

CONSIDER 

should decode remove the octets it decoded  and leave the rest, or
should the user have to add a BER operator to the end.

when decoding should the pos be kept in the object (ie should BER be a hash ??)

when both en/decoding should the $index be kept in the object

use of a Convert::BER::subber to aid decoding without having to
copy out the sequence etc.

new OPERATOR

	CHOICE - takes a reference to a list. The first entry would be
		the choice index, the rest of the list would be the OP=>VALUE
		pairs for the choice. For decode the index would be a reference
		to a scalar (or list if there are multiple choices) and will
		be set to the index of the choice found.

If there are an odd number of arguments passed to decode() and the last
argument is undef, the decode() will fail if there are any octets left
in the buffer after decoding. Or should decode fails if there
are any octets left, ie force user to add BER operator at end


TESTS to write

basic.t - basic operations like tag number passing array or code refs
seqof.t - test SEQUENCE_OF
complex.t - an attampt to use everything
subclass.t - test the sub-classing of Convert::BER
constr.t - test the CONSTRUCTED code
