#!/usr/bin/perl # basedir and basename v1.1 by xorc. #----------------------------------- # File : ./foo/bar.pl # basedir() returns: /foo/ # basename() returns: bar.pl #----------------------------------- use strict; sub basedir { my @dirArr; my $rtn; my $arg = shift; $arg = $arg ? $arg : $0; @dirArr = split(/\//,$arg); pop @dirArr; for (my $x=0; $x < @dirArr; $x++) { if ($dirArr[$x]) { $dirArr[$x] =~ s/.//; $rtn .= "/".@dirArr[$x]; } } return $rtn; } sub basename { my @filepath; my $arg = shift; $arg = $arg ? $arg : $0; @filepath = split(/\//,$arg); return $filepath[@filepath-1]; } print basedir(); print "\n"; print basename();