The basename routine

Combined from primary sources listed below.

In class IO::Path ( Type/IO/Path )§

See primary docmentation in context for method basename.

method basename§

method basename(IO::Path:D:)

Returns the basename part of the path object, which is the name of the filesystem object itself that is referenced by the path.

"docs/README.pod".IO.basename.say# OUTPUT: «README.pod␤»
"/tmp/".IO.basename.say;           # OUTPUT: «tmp␤»

Note that in IO::Spec::Win32 semantics, the basename of a Windows share is \, not the name of the share itself:

IO::Path::Win32.new('//server/share').basename.say# OUTPUT: «\␤»

In class IO::Spec::Unix ( Type/IO/Spec/Unix )§

See primary docmentation in context for method basename.

method basename§

method basename(Str:D $path --> Str:D)

Takes a path as a string and returns a possibly-empty portion after the last slash:

IO::Spec::Unix.basename("foo/bar/") .raku.say# OUTPUT: «""␤»
IO::Spec::Unix.basename("foo/bar/.").raku.say# OUTPUT: «"."␤»
IO::Spec::Unix.basename("foo/bar")  .raku.say# OUTPUT: «"bar"␤»

In class IO::Spec::Win32 ( Type/IO/Spec/Win32 )§

See primary docmentation in context for method basename.

method basename§

method basename(Str:D $path --> Str:D)

Takes a path as a string and returns a possibly-empty portion after the last slash or backslash:

IO::Spec::Win32.basename("foo/bar/") .raku.say# OUTPUT: «""␤»
IO::Spec::Win32.basename("foo/bar\\").raku.say# OUTPUT: «""␤»
IO::Spec::Win32.basename("foo/bar/.").raku.say# OUTPUT: «"."␤»
IO::Spec::Win32.basename("foo/bar")  .raku.say# OUTPUT: «"bar"␤»