Chỉ cần sử dụng 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";
Bạn có thể thấy điều này trả lại kết quả mà bạn yêu cầu nhưng nó cũng có khả năng chụp các tiện ích mở rộng (trong phần sau ở trên):
Directory: /etc/init/tree/errrocodr/
File: a.txt
Suffix:
Directory: /etc/init/tree/errrocodr/
File: a
Suffix: .txt
Bạn chưa đặt câu hỏi này tại http://stackoverflow.com/questions/3511214/how-to-support-the-searching-file-based-on-regular-expression? Bạn nên chỉnh sửa câu hỏi ban đầu của mình để làm rõ câu hỏi, thay vì đăng câu hỏi mới. – Ether
@Ether, đó là một câu hỏi hoàn toàn _different_, hỏi làm thế nào để có được một danh sách các tập tin dựa trên một ký tự đại diện. Đây là cách chia nhỏ một tệp tin đơn lẻ thành các phần của nó. – paxdiablo