In IO::Path§

See primary documentation in context for method cleanup

method cleanup(IO::Path:D: --> IO::Path:D)

Returns a new path that is a canonical representation of the invocant path, cleaning up any extraneous path parts:

"foo/./././..////bar".IO.cleanup.say;      # OUTPUT: «"foo/../bar".IO␤» 
IO::Path::Win32.new("foo/./././..////bar")
    .cleanup.say"foo\..\bar".IO;         # OUTPUT: «"foo\..\bar".IO␤»

Note that no filesystem access is made. See also resolve.