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

Changes for version 0.43 - 2022-03-15

  • Deprecation
    • SPVM::FileTest is deprecated. Use methods in the Sys class instead.
  • Exception Message Improvement
    • Improve the following exception messages.
      • Before
        • [System Error]unlink failed:%s. The \"%s\" directory can't be removed"
      • After
        • [System Error]unlink failed:%s. The \"%s\" file can't be removed"
  • Test Improvement
    • Improved tests of Sys::IO::Stat.
  • Incompatible Changes
    • Removed the readlink method in the Sys class and the readlinkp method in the Sys::IO class because I don't know the Windows/Unix portable way to allocate memory yet.
    • Removed the unlinkp method in the SPVM::Sys::IO class. This logic is moved to the unlink method in the Sys class and fixed the return value.
    • Removed the renamep method in the SPVM::Sys::IO class. This logic is moved to the rename method in the Sys class.
    • Removed the symlinkp method in the SPVM::Sys::IO class. This logic is moved to the symlink method in the Sys class.
    • Removed the readlinkp method in the SPVM::Sys::IO class. This logic is moved to the readlink method in the Sys class.
    • Removed the chmodp method in the SPVM::Sys::IO class. This logic is moved to the chmod method in the Sys class.
    • Removed the chownp method in the SPVM::Sys::IO class. This logic is moved to the chown method in the Sys class.
    • Removed the utimep method in the SPVM::Sys::IO class. This logic is moved to the utime method in the Sys class.
    • Removed the timesp method in the SPVM::Sys::Time class. This logic is moved to the times method in the Sys class.
    • Removed the statp method in the SPVM::Sys::IO::Stat class. This logic is moved to the stat method in the Sys class.
    • Removed the lstatp method in the SPVM::Sys::IO::Stat class. This logic is moved to the lstat method in the Sys class.
    • Remvoed the argument of the new method in the Sys::IO::Stat class.
    • Removed the is_windows method in the Sys class. This is used from the Sys::OS class.
    • Removed the get_osname method in the Sys::OS class.
    • Renamed the get_osname method in the Sys class to osname.
  • New Features
    • Added the Sys::IO::Windows class.
    • Added the symlinkp method in the Sys::IO: class. static method unlinkp : int ($oldpath : string, $newpath : string); static method renamep : int ($oldpath : string, $newpath : string); static method symlinkp : int ($oldpath : string, $newpath : string);
    • The l method in the Sys::FileTest supports Windows.
    • Added the following methods in the Sys class.
      • static method A : double ($file : string);
      • static method C : double ($file : string);
      • static method M : double ($file : string);
      • static method O : int ($file : string);
      • static method R : int ($file : string);
      • static method S : int ($file : string);
      • static method W : int ($file : string);
      • static method X : int ($file : string);
      • static method b : int ($file : string);
      • static method c : int ($file : string);
      • static method d : int ($file : string);
      • static method e : int ($file : string);
      • static method f : int ($file : string);
      • static method g : int ($file : string);
      • static method k : int ($file : string);
      • static method l : int ($file : string);
      • static method o : int ($file : string);
      • static method p : int ($file : string);
      • static method r : int ($file : string);
      • static method s : long ($file : string);
      • static method u : int ($file : string);
      • static method w : int ($file : string);
      • static method x : int ($file : string);
      • static method z : int ($file : string);
      • static method env : string ($name : string);
      • static method time : long ();
      • static method localtime : Time::Info ($time : long);
      • static method gmtime : Time::Info ($time : long);
      • static method process_id : int ();
      • static method stat : Sys::IO::Stat ($path : string);
      • static method chdir : int ($path : string);
      • static method chmod : int ($mode :int, $path : string);
      • static method mkdir : int ($path : string, $mode : int);
      • static method umask : int ($mode : int);
      • static method rmdir : int ($path : string);
      • static method unlink : int ($pathname : string);
      • static method rename : int ($oldpath : string, $newpath : string);
      • static method symlink : int ($oldpath : string, $newpath : string);
      • static method readlink : int ($file : string);
      • static method sleep : int ($seconds : int);
    • Added the Sys::OS class.
    • Added the Sys::Env class.

Modules

System Calls for File IO, User, Process, Signal, Socket
Environemnt Variable
File Tests
IO System Call
Constant values for IO.
the class for the DIR type in C language.
struct dirent in C language
the class for the FILE type in C language.
struct flock in C language
The stat Functions and The struct stat in C language
struct utimbuf in C language
IO System Call on Windows
ioctl System Call
Constant values for ioctl.
System Calls for OS
Poll System Call
Constant values for Poll.
Array of struct pollfd in C language
Process System Call
Constant Values for Process
Select System Call
Constant values for Select.
fd_set Type in C Language
Signal System Call
Sys::Signal::Constant is a SPVM module
Sys::Signal::Handler is a SPVM module
Signal Handler that Represents SIG_DFL in C language.
Signal Handler that Represents SIG_IGN in C language
Signal Handler to Monitor Signals
Signal Handler that is unknwon.
Socket System Call
struct addrinfo in C language
Sys::Socket::AddrinfoLinkedList is a SPVM module
Socket Constant Values
The address is not a valid network address.
struct in6_addr in C language
struct in_addr in C language
struct ip_mreq in C language
struct ip_mreq_source in C language
struct ipv6_mreq in C language
struct sockaddr in C language
struct sockaddr_in in C language
struct sockaddr_in6 in C language
Interface for Sys::Socket::Sockaddr
struct sockaddr_storage in C language
struct sockaddr_un in C language
Time System Call
Constant Values for Time
struct timeval in C language
struct timespec in C language
struct timeval in C language
struct timezone in C language
struct tms in C language
User System Call
Entry of Group Database
Entry of Password Database