Matt skribis 2005-04-20 13:00 (-0400): > 1. I know there is the xx operator for repeating strings. I also know you > can use XX for repeating either closures, blocks, or subs; though I'm not > sure which. Assuming you could use XX on a sub, how would you gather the > results into an array? > @names = &get_next(...) XX 5;
I'm not sure the XX thing will happen, but if it does, it'd be most useful if it wouldn't treat a sub call differently. In other words, @random = { rand } XX 5; would return 5 different random values, while @random = { rand }() XX 5; would do exactly the same as @random = rand xx 5; And your @names = &get_next(...) XX 5; # Why the &, by the way? I think should be @names = { get_next(...) } XX 5; or, if get_next doesn't take arguments, @names = &get_next XX 5; Note that if the ... should change each of the 5 times, then this should be done using map: 1..5 ==> map { get_next($_) } ==> @names; or of course @names = map { get_next($_) }, 1..5; The XX was proposed mainly because the 1..5 part of map often does not make sense as a range, and in those cases you just abuse it for repetition. Juerd -- http://convolution.nl/maak_juerd_blij.html http://convolution.nl/make_juerd_happy.html http://convolution.nl/gajigu_juerd_n.html