On Wednesday, April 17, 2002, at 02:09 , richard noel fell wrote:
[..]
> sub create_menu_bar
> {
> my $mb = $MW->Menu();
> $MW->configure(-menu=>$mb);
> opendir DIR, "./" or die " cannot open current directory: $!";
> my $current_directory = cwd;
> my @directories = grep { !/^\.\.?$/ && -d "$current_directory/$_" }
> readdir DIR;
> map {$mb->cascade(-label => '~'.$_, -menuitems=>\&sub_menu($_))}
> @directories;
> sub sub_menu
> {
> chdir "$_[0]" or die "Cannot change directory: $!"; # change to
> Algebra1 sub-directory, then Algebra2, etc.
> opendir SUB_DIR, "./" or die " cannot open current directory: $!";
> my $current_sub_directory = cwd;
> my @sub_directories = grep { !/^\.\.?$/ && -d
> "$current_sub_directory/$_" } readdir SUB_DIR;
> map {[ 'cascade', '~'.$_]} @sub_directories;
> }
> }
creative use of a sub directory....
from the perldoc -f map
I normally think of 'map' being used in the form
my %retHash = map {[ 'cascade', '~'.$_]} @sub_directories;
at which point I would simply return the Hash
%retHash ;
my other concern is with
map {$mb->cascade(-label => '~'.$_, -menuitems=>\&sub_menu($_))}
@directories;
wouldn't that be simpler to write as say
$mb->cascade(-label => '~'.$_, -menuitems=>\&sub_menu($_))
foreach (@directories);
without using the 'map' processeing around it???
ciao
drieux
---
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]