class IO::Spec { }

Objects of this class are not used directly but as a sub-class specific to the platform Raku is running on via the $*SPEC variable which will contain an object of the appropriate type.

The sub-classes are documented separately, with the platform-specific differences documented in IO::Spec::Cygwin, IO::Spec::QNX, IO::Spec::Unix and IO::Spec::Win32.

About sub-classes IO::Spec::*§

The IO::Spec::* classes provide low-level path operations. Unless you're creating your own high-level path manipulation routines, you don't need to use IO::Spec::*. Use IO::Path instead.

Beware that no special validation is done by these classes (e.g. check whether path contains a null character). It is the job of higher-level classes, like IO::Path, to do that.