Lines Matching full:basename

3 File::Basename - Parse file paths into directory, filename and suffix.
7 use File::Basename;
12 my $basename = basename($fullname, @suffixlist);
21 B<NOTE>: C<dirname()> and C<basename()> emulate the behaviours, and
30 dirname($path) . $path_separator . basename($path);
38 package File::Basename;
40 # File::Basename is used during the Perl build, when the re extension may
56 @EXPORT = qw(fileparse fileparse_set_fstype basename dirname);
123 my($dirpath, $basename);
126 ($dirpath,$basename) = ($fullname =~ /^((?:.*[:\\\/])?)(.*)/s);
130 ($dirpath,$basename) = ($fullname =~ m#^((?:.*[:\\/])?)(.*)#s);
135 ($dirpath,$basename) = ($fullname =~ /^(.*:)?(.*)/s);
139 ($dirpath,$basename) = ($fullname =~ /(.*[:\/])?(.*)/s);
143 ($dirpath,$basename) = ($fullname =~ /^(.*[:>\]])?(.*)/s);
147 ($dirpath,$basename) = ($fullname =~ m{^(.*/)?(.*)}s);
153 ($dirpath,$basename) = ($remainder =~ m{^(.*/)?(.*)}s);
166 if ($basename =~ s/$pat//s) {
175 wantarray ? ($basename .= $taint, $dirpath .= $taint, $tail)
176 : ($basename .= $taint);
181 =item C<basename>
182 X<basename> X<filename>
184 my $filename = basename($path);
185 my $filename = basename($path, @suffixes);
188 C<basename(1)>. It does B<NOT> always return the file name portion of a
192 C<basename()> returns the last level of a filepath even if the last
197 basename("/foo/bar");
198 basename("/foo/bar/");
204 my $filename = basename("/foo/bar/baz.txt", ".txt");
208 C<basename()> does not strip off a suffix if it is identical to the
214 sub basename { subroutine
217 # From BSD basename(1)
218 # The basename utility deletes any prefix ending with the last slash '/'
222 my($basename, $dirname, $suffix) = fileparse( $path, map("\Q$_\E",@_) );
224 # From BSD basename(1)
227 if( length $suffix and !length $basename ) {
228 $basename = $suffix;
231 # Ensure that basename '/' == '/'
232 if( !length $basename ) {
233 $basename = $dirname;
236 return $basename;
290 local($File::Basename::Fileparse_fstype) = '';
294 my($basename, $dirname) = fileparse($path);
300 if( !length($basename) && $dirname !~ /^[^:]+:\z/) {
302 ($basename,$dirname) = fileparse $dirname;
308 unless( length($basename) ) {
309 ($basename,$dirname) = fileparse $dirname;
316 $dirname =~ s{[^:/]+\z}{} unless length($basename);
320 unless( length($basename) ) {
321 ($basename,$dirname) = fileparse $dirname;
352 Normally File::Basename will assume a file path type native to your current
402 L<dirname(1)>, L<basename(1)>, L<File::Spec>