Beefy Boxes and Bandwidth Generously Provided by pair Networks
Perl: the Markov chain saw

Re: remove directory path

by prasadbabu (Prior)
on Mar 02, 2006 at 13:10 UTC ( #533872=note: print w/replies, xml ) Need Help??

in reply to remove directory path

You need to take a look at File::Basename

or simply with regex

$file = "/opt/local/bin/zap.exe"; $file =~ s|.*/||s; print $file; output: zap.exe

updated: As per frodo72 suggestion. Thanks frodo72


Replies are listed 'Best First'.
Re^2: remove directory path
by polettix (Vicar) on Mar 02, 2006 at 15:33 UTC
    The File::Basename approach is better IMHO - more readable, portable and tested.

    In the regex, you're bound to be in some Unix flavour; moreover, it misses files in the root directory, because of the "+". I'd reword it as:

    $file =~ s{.*/}{}s;
    but the better choice remains File::Basename.

    perl -ple'$_=reverse' <<<ti.xittelop@oivalf

    Don't fool yourself.
Re^2: remove directory path
by sen (Hermit) on Mar 02, 2006 at 13:48 UTC

    try this..

    $file = "/opt/local/bin/zap.exe"; print $file = (split(/\//, $file))[-1];
Re^2: remove directory path
by sen (Hermit) on Mar 02, 2006 at 13:47 UTC

    try this..

    $file = "/opt/local/bin/zap.exe"; $file = (split(/\//, $file))[-1]; print $file;

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://533872]
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (5)
As of 2016-10-20 21:37 GMT
Find Nodes?
    Voting Booth?
    How many different varieties (color, size, etc) of socks do you have in your sock drawer?

    Results (283 votes). Check out past polls.