use strict; use warnings; use Math::GMPz qw(:mpz); my ($order, $size, $endian, $nails) = (1, 1, 0, 0); my $s = 'Som3/Arbitr@ri!y/long/string'; my $z = Math::GMPz->new(); Rmpz_import($z, length($s), $order, $size, $endian, $nails, $s); print $z, "\n"; $z++; print "$z\n"; my $incremented_s = Rmpz_export( $order, $size, $endian, $nails, $z); print "$s\n"; print "$incremented_s\n"; # Next retrieve original string: $z--; my $orig_s = Rmpz_export( $order, $size, $endian, $nails, $z); print "$orig_s\n"; __END__ Outputs: 8786758437493627904416651010636024986357833879283932790893327248999 8786758437493627904416651010636024986357833879283932790893327249000 Som3/Arbitr@ri!y/long/string Som3/Arbitr@ri!y/long/strinh Som3/Arbitr@ri!y/long/string