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]

Reply via email to