http://www.perlmonks.org?node_id=383907


in reply to Re: Re: Favourite modules April 2003
in thread Favourite modules April 2003

The trouble you seem to be having is because you haven't read the fileparse_set_fstype portion of the File::Basename docs. Anyway, I know its been a year since you wrote this, but I finally wrote fileparse (just for completeness) and thought I'd share.
sub File::Spec::dirname { my $self = shift; return $self->catpath( ( $self->splitpath(shift) )[ 0, 1 ] ); } sub File::Spec::basename { my $self = shift; my $name = shift; return ($self->fileparse($name, map("\Q$_\E",@_)))[0]; } sub File::Spec::fileparse { my $self = shift; my( $suffix, $path, $name ) = $self->splitpath(shift); $path = $self->catpath( $suffix, $path, '' ); for my $s(@_){ $self =~ s/($s)$//i and last; } $suffix = $1 ? $1 : undef; wantarray ? ( $name, $path, $suffix ) : $name; }
Check out file.spec.basename.txt to test the above with the File::Basename test suite.

MJD says "you can't just make shit up and expect the computer to know what you mean, retardo!"
I run a Win32 PPM repository for perl 5.6.x and 5.8.x -- I take requests (README).
** The third rule of perl club is a statement of fact: pod is sexy.