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

Re: A better way? Extracting filename from url

by Parham (Friar)
on Jan 14, 2002 at 16:28 UTC ( #138556=note: print w/replies, xml ) Need Help??

in reply to A better way? Extracting filename from url

i use these with local harddrive filenames, but they should work pretty much the same for url's

method 1:
$file = substr $url, rindex($url, '/') + 1; #path contains full url

method 2:
$url =~ s/^.*\///; #just use the url to get the filename with a regex

method 3:
($file) = $url =~ m!([^/]+)$!; #another regex way

Replies are listed 'Best First'.
Re: Re: A better way? Extracting filename from url
by moodster (Hermit) on Jan 14, 2002 at 17:01 UTC
    It works, but I guess you've also got to consider the possibility that the URL will contain query parameters, like this:

    So a second substitution (I'm sure you can do it with a lookahead assertion or similar, but that seems a bit overkill) is probably in order:

    $file =~ s/\?.*//;

    -- moodster

      Moodster has a good point. Thanks all for your comments. To be honest I had not even considered the possiblity of query paramters, which is very silly of me. But hey, it was late. Anway, I can now look at this again a bit later on.
      I am constantly amazed and impressed with the good nature and high value of comments that come out of this site.

      The caffeine addict (now sufficiently supplied).

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://138556]
[Lotus1]: hi

How do I use this? | Other CB clients
Other Users?
Others imbibing at the Monastery: (5)
As of 2018-06-18 15:49 GMT
Find Nodes?
    Voting Booth?
    Should cpanminus be part of the standard Perl release?

    Results (110 votes). Check out past polls.