A collection of classes for typing amqp data
use Net::AMQP::Value; # ... somewhere, in an AMQP table: Net::AMQP::Value::String->new("1") # not an integer Net::AMQP::Value::Integer->new(" 1") # not a string Net::AMQP::Value::Timestamp->new(1) # not an integer Net::AMQP::Value::Boolean->new(1) # not an integer Net::AMQP::Value::true # shorthand for ...Boolean->new(1) Net::AMQP::Value::false # shorthand for ...Boolean->new(0)
Generally in tables Net::AMQP tries to be smart, so e.g. a table value of '1' or '-1' is transmitted as an integer. When this intelligence becomes a problem, use these classes to type your data. For example, a table value of \*(C`Net::AMQP::Value::String-\*(C'new\|(1)> will be transmitted as the string \*(L"1\*(R".
These classes also overload the basics like "", 0+, and bool so if you use them outside an \s-1AMQP\s0 table, they will probably Do The Right Thing.
Net::AMQP, Net::AMQP::Common