बस Basename का उपयोग करें:
use File::Basename;
$fullspec = "/etc/init/tree/errrocodr/a.txt";
my($file, $dir, $ext) = fileparse($fullspec);
print "Directory: " . $dir . "\n";
print "File: " . $file . "\n";
print "Suffix: " . $ext . "\n\n";
my($file, $dir, $ext) = fileparse($fullspec, qr/\.[^.]*/);
print "Directory: " . $dir . "\n";
print "File: " . $file . "\n";
print "Suffix: " . $ext . "\n";
आप इस आपके द्वारा अनुरोधित परिणाम लौटने देख सकते हैं, लेकिन यह है यह भी रूप में अच्छी तरह (ऊपर उत्तरार्द्ध खंड में) एक्सटेंशन कैप्चर करने की क्षमता:
Directory: /etc/init/tree/errrocodr/
File: a.txt
Suffix:
Directory: /etc/init/tree/errrocodr/
File: a
Suffix: .txt
क्या आपने पहले से ही इस सवाल को http://stackoverflow.com/questions/3511214/how-to-support-the-searching-file-based-on-regular-expression पर नहीं पूछा था? एक नया पोस्ट करने के बजाय, आपको इसे स्पष्ट करने के लिए अपना मूल प्रश्न संपादित करना चाहिए। – Ether
@ ईथर, यह एक पूरी तरह से _different_ सवाल है, यह पूछना कि वाइल्डकार्ड के आधार पर फ़ाइलों की सूची कैसे प्राप्त करें। यह एक और है कि कैसे एक फाइलपीसी अपने भागों में विभाजित करने के लिए। – paxdiablo