mapping dirlist to array
Alan Stewart
astewart at spawar.navy.mil
Fri Mar 31 12:19:08 CST 2000
~sdpm~
On 30 Mar 00, at 23:40, C. Abney wrote:
>~sdpm~
>Anyone have a nicer way to express this?
>
> @blastfiles = map { ! /^\./ && -f "$blastdir/$_" && $_ } readdir(DIR);
>
>I'm looking for plain old text files... but don't like this.
>
Map returns an array element for each original element (dir entry), even if it
fails. Use grep to get just the ones that pass ( and then you don't need &&
$_ ).
@blastfiles = grep { ! /^\./ && -f "$blastdir/$_" } readdir(DIR);
or if you really just wanted text and not binary files
@blastfiles = grep { ! /^\./ && -f "$blastdir/$_" && -T _ } readdir(DIR);
If the !/^\./ is there to get rid of hidden files, OK. If it is there to get rid of . and
.. then the -f covers that
@blastfiles = grep { -f "$blastdir/$_" } readdir(DIR);
---------------------------------------------------------------
Alan Stewart )-[]-( Electronics Engineer
Code D621 ~ ~ Network Operations
SPAWARSYSCEN ~ ~ \ Satellite Communications
53560 Hull St ( ~ ~ ) tel (619)524-3625
San Diego,CA __|___ /| fax (619)524-2607
92152-5001 ^\____/^^^^^^\ __| |_ astewart at spawar.navy.mil
------------^^^^^^^^^^^^^^^\__|______|_------------------------
~sdpm~
The posting address is: san-diego-pm-list at hfb.pm.org
List requests should be sent to: majordomo at hfb.pm.org
If you ever want to remove yourself from this mailing list,
you can send mail to <majordomo at happyfunball.pm.org> with the following
command in the body of your email message:
unsubscribe san-diego-pm-list
If you ever need to get in contact with the owner of the list,
(if you have trouble unsubscribing, or have questions about the
list itself) send email to <owner-san-diego-pm-list at happyfunball.pm.org> .
This is the general rule for most mailing lists when you need
to contact a human.
More information about the San-Diego-pm
mailing list