On Jun 12, 2007, at 10:50 AM, Ethan Mallove wrote:
eval $btls = MTT::Functions::if(MTT::Functions::regexp
(MTT::Functions::shell("hostname"), "v440-2|v20z-2"),
MTT::Functions::enumerate("self,sm,tcp"),
MTT::Functions::if("MTT::Functions::regexp
("MTT::Functions::shell("hostname"), "v440-6"),
MTT::Functions::enumerate("udapl"),
MTT::Functions::enumerate("sm", "tcp",
"sm,tcp", "udapl", "sm,udapl")
)
)
Ah -- I had to think about this a bit before I figured it out/
remembered. I think we won't get the expansion effect if you do it
this way.
No expansion effect? As long as the perl code evaluates to
an array, couldn't it to work? E.g.,
We'll need to revamp all the current funclets to accept arrays and
return [potentially] arrays of arrays. What if, as a
counterproposal, we have a &perl() funclet? Then you could do the
following:
btls = &perl("if ($hostname =~ /foo/) { \
return ("self,sm,tcp"); \
} elsif ($hostname =~ /bar/) { \
return ("udapl"); \
} else { \
return ("sm", "tcp", "sm,tcp", "udapl", "sm,udapl"); \
}")
(or something like that)
--
Jeff Squyres
Cisco Systems