Just use the basename() method from File::Basename;

# perl -MFile::Basename -e 'print basename("/tmp/foo/003/File-11523.1")';
File-11523.1


Cheers,
Kevin

On Tue, Apr 24, 2001 at 09:52:04AM -0700, Sandor W. Sklar ([EMAIL PROTECTED]) 
spew-ed forth:
> Hi, folks ...
> 
> I'm generating a list of files (from a find subroutine) and putting 
> them in an array.  The list looks like ...
> 
> /home4/dsadmin/7790/DocuShare/documents/b003/File-11523.1
> /home4/dsadmin/7790/DocuShare/documents/b003/File-11587.1
> /home4/dsadmin/7790/DocuShare/documents/b003/File-11651.1
> /home4/dsadmin/7790/DocuShare/documents/b004/File-1156/html/main.htm
> /home4/dsadmin/7790/DocuShare/documents/b004/File-1604/html/main.htm
> 
> (... a small sample)
> 
> and I'm trying to get just the "File-nnnn" part of each line; some 
> lines that I am matching against will have a trailing slash, with 
> additional path info that I'm not interested in; other lines will 
> have a period and a number following, which I am also not interested 
> in.
> 
> 
> Perhaps the File::Basename module would do what I want, but I can't 
> get my mind around its documentation.  I thought of using split on 
> each line (splitting on the "/", and then looking each element of the 
> array returned), but that seems, well, stupid.  I'm sure that there 
> is some really simple magic here; I just don't see it.  Can someone 
> enlighten me please?
> 
> Thanks,
> -s-
> -- 
> sandor w. sklar
> unix systems administrator
> stanford university itss-css
> 

-- 
You think because you understand _one_ you must understand two. Because
one and one make _two_. But you must also understand _and_.
                                        --Sufi Sage

Reply via email to