> You want to extract numbers from an array > if they are > 4 and put an 'a'-letter after them.
Try this... # tested @values = (1,3,5,7); @bigger_than_4 = map {$_.'a'} grep {$_>4} @values; print "@bigger_than_4"; > You need to escape a loop with a value. Not sure I understand what you are trying to accomplish, but this is the equivalent of your Perl version and is as short as your proposed syntax. while (<FH>) { next unless /stop/; #somthing last; } Rob -----Original Message----- From: Ville Jungman [mailto:[EMAIL PROTECTED] Sent: Thursday, September 25, 2003 8:25 PM To: [EMAIL PROTECTED] Subject: Should loops return a value? Shortly, I think it might be good if loops (etc.) could return values. Example 1: Retnext (like 'return next' borrowed from pl/sql) You want to extract numbers from an array if they are > 4 and put an 'a'-letter after them. @values=(1,3,5,7); @bigger_than_4= # get an array from loop foreach $value(@values) { retnext $value."a" if $value > 4; # return value from loop if > 4 } ; Example 2: Retlast (== perl 'last'-command with a value) You need to escape a loop with a value. Familiar way: while(<FH>){ if(/stop/){ $array_terminated='true'; last; } } if($array_terminated){ # something } This could be written as: if( while(<FH>){ retlast if /stop/; # returns $_ by default } ){ # something } So, not very conserverite but think what all you could do with this. And please, let me know what you think about this. Crap? --- ville jungman, 2 laureston crescent, tower, blarney, cork, ireland tel. + 353 - 21 - 451 6847, http://www.kolumbus.fi/vilmak usko Herraan Jeesukseen, niin sinä pelastut. (apt. 16:31) _________________________________________________________________ Add photos to your messages with MSN 8. Get 2 months FREE*. http://join.msn.com/?page=features/featuredemail -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]