All pastes #40925 Raw Edit

Anonymous

public text v1 · immutable
#40925 ·published 2006-02-09 21:55 UTC
rendered paste body
#!/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();