The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

Changes for version 0.0946 - 2021-04-23

  • Create SPVM::ArrayUtil module
  • move the following SPVM::Util methods to SPVM::ArrayUtil copy_object_array copy_byte_array copy_short_array copy_int_array copy_long_array copy_float_array copy_double_array equals_object_array copy_string_array equals_byte_array equals_short_array equals_int_array equals_long_array equals_float_array equals_double_array equals_string_array dump_byte_array dump_short_array dump_int_array dump_long_array dump_unsigned_byte_array dump_unsigned_short_array dump_unsigned_int_array dump_unsigned_long_array dump_float_array dump_double_array memcpy_byte memcpy_short memcpy_int memcpy_long memcpy_float memcpy_double memmove_byte memmove_short memmove_int memmove_long memmove_float memmove_double new_object_array_proto slice_byte slice_short slice_int slice_long slice_float slice_double
  • move the following SPVM::Util methods to SPVM::StringUtil split chomp_lf chomp_crlf copy_str index isalnum isalpha isblank iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper is_perl_space is_perl_word join lc lcfirst replace replace_all strtoi strtol strtof strtod uc ucfirst rindex contains
  • remove SPVM::Util->join_object in favor of SPVM::ArrayUtil->dump_object_array
  • add SPVM::ArrayUtil->dump_object_array
  • rename SPVM::ArrayUtil->copy_str to SPVM::ArrayUtil->copy_string
  • rename SPVM::Util to SPVM::NumberUtil
  • fix bug that le operator means lt.
  • in eq, ne, gt, ge, lt, le string comparison, undef is treated as most small value and these string comparison operators don't throw a exception.
  • add SPVM::ArrayUtil->dump_array_string
  • add SPVM::ArrayUtil->slice_array_string
  • SPVM::ArrayUtil->copy_byte_array return undef if the argument is undef.
  • SPVM::ArrayUtil->copy_short_array return undef if the argument is undef.
  • SPVM::ArrayUtil->copy_int_array return undef if the argument is undef.
  • SPVM::ArrayUtil->copy_long_array return undef if the argument is undef.
  • SPVM::ArrayUtil->copy_float_array return undef if the argument is undef.
  • SPVM::ArrayUtil->copy_double_array return undef if the argument is undef.
  • SPVM::ArrayUtil->copy_string_array return undef if the argument is undef.
  • SPVM::ArrayUtil->copy_object_array return undef if the argument is undef.

Documentation

SPVM compiler to create exe file

Modules

Static Perl Virtual Machine. Fast Calculation, Fast Array Operation, and Easy C/C++ Binding.
Array Utilities
Blessed object base class
Array based blessed object
Package based blessed object
String based blessed object
Build SPVM program
Native code Compiler and linker. Wrapper of ExtUtils::CBuilder for SPVM
build config
Build Utilities
Byte object
0 index based continuous dynamic byte array
a callback type to clone a object
a callback type for byte comparation
a callback type for double comparation
a callback type for float comparation
a callback type for int comparation
a callback type for long comparation
a callback type for comparation
a callback type for short comparation
Complex double multi numeric type
Complex float multi numeric type
SPVM Core Modules
Double object
Continuous dynamic double array
a callback type to check the object equality
a callback implementation of SPVM::EqualityChecker to check if the memory addresses of the two objects are equal.
SPVM Exchange API
Float object
Continuous dynamic float array
Key-Values Stored Data Structrue
Hash entry
Standard out
Standard out
Int object
Continuous dynamic int array
Continuous dynamic object array
Long object
Continuous dynamic long array
Mathmatical functions
Number Utilities
Regular expression
Regular expression pattern
a callback type for the regex replacement
Short object
Continuous dynamic short array
Sort functions
String buffer
Continuous dynamic string array
Variouse utilities
a callback type for stringification
Time manipulation
Time information
Unicode utilities.

Provides

in lib/SPVM/Builder/Exe.pm

Examples