ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
I'm sure this is very simple but I am not much of programmer.
I am trying to better some of my perl scripts. One thing that would greatly help my current script is some what to separate the filename from the rest of the path for a given path+file name. Here's an example:
I'd provide let's say /user/me/data/cars.dat into my perl program. I want to be able to separate the cars.dat and assign it a variable and the rest of the path (/user/me/data) a second variable so that I can rename the filename to modifiedcars.dat and copy it back to the to the original path once I've modified the data in the program (i.e. output to /user/me/data/modifiedcars.dat). I see two possible ways to do this:
1) Use the spilt command with / as the delimiter and try to catch the last segment but I'm not sure how to do this and how I would be able to assign the rest of the path to variable (as far as I see it).
2) Do some pattern matching using something like $filename = //(w+)/g[-1]; which I'm also sure is wrong. I'm also not sure how I would assign the rest of the path a variable name either.
I'm sure this is very simple to do but can't seem to figure it out based on the texts I have and the reading I've done on the internet. Any help would be greatly appreciated.
I feel like a real idiot now because I do have that book (and learning perl) but I was thinking it would be someting done via the pattern matching chapter (6). Anyway, I appreciate you setting me straight.