📛 NAME
BSON::Int64 - BSON type wrapper for Int64
🚀 Quick Reference
| Use Case | Command | Description |
| Wrap a number as 64‑bit integer | bson_int64(42) | Creates a BSON::Int64 object from a Perl scalar |
| Get the numeric value | 0+$int64 | Numification overload returns the stored integer |
| Serialize to JSON | $int64->TO_JSON | Returns integer (or extended JSON document in strict mode) |
| Check environment for extended JSON | $ENV{BSON_EXTJSON} | If true, TO_JSON may output MongoDB extended JSON format |
🏷️ VERSION
version v1.12.2
📜 SYNOPSIS
use BSON::Types ':all';
bson_int64( $number );
📖 DESCRIPTION
This module provides a BSON type wrapper for a numeric value that would be represented in
BSON as a 64‑bit integer.
If the value won’t fit in a 64‑bit integer, an error will be thrown.
On a Perl without 64‑bit integer support, the value must be a
Math::BigInt object.
🧬 ATTRIBUTES
🔢 value
A numeric scalar. It will be coerced to an integer. The default is 0.
🛠️ METHODS
📤 TO_JSON
On a 64‑bit perl, returns the value as an integer. On a 32‑bit Perl, it will be returned as
a
Math::BigInt object, which will fail to serialize unless a “TO_JSON” method is defined for
that or in package “universal”.
If the “BSON_EXTJSON” environment variable is true and the “BSON_EXTJSON_RELAXED” environment
variable is false, returns a hashref compatible with MongoDB’s extended JSON
(
https://github.com/mongodb/specifications/blob/master/source/extended-json.rst) format,
which represents it as a document as follows:
{"$numberLong" : "223372036854775807"}
📟 OVERLOADING
The numification operator, “0+” is overloaded to return the “value”, the full “minimal set”
of overloaded operations is provided (per overload documentation) and fallback overloading is
enabled.
✍️ AUTHORS
⚖️ COPYRIGHT AND LICENSE
This software is Copyright (c) 2020 by Stefan G. and MongoDB, Inc.
This is free software, licensed under:
The Apache License, Version 2.0, January 2004