> #!/usr/bin/perl
>
>
> use strict;
> use warnings;
>
> sub get_subdirectories{
> # retrieves list of directories from passed directory
> # returns directory list as an array
>
> my $directory = shift;
> open LS, "ls -l $directory|";
> local $/ = undef;
> my @dirs = grep {s/^d.*?\s*?(\w*)$/$1/} split ( /\n/, <LS>);
>
>
> }
>
>
> my @results = get_subdirectories("/home/corenth");
>
> print @results;
>
> __END__
Try this, you don't need to shell out. It returns an array of
subdirectories.
opendir LS, $directory or die "Can't opendir $directory: $!";
my @dirs = grep { -d $_ } readdir LS;
closedir LS;
return @dirs;
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
<http://learn.perl.org/> <http://learn.perl.org/first-response>