View Problem

Perform an action multiple times based on a boolean condition, checked before the first action (WHILE .. DO)

Starting with a variable x=1, Print the sequence "1,2,4,8,16,32,64,128," by doubling x and checking that x is less than 150.
DiskEdit
perl
my $x = 1;
while($x < 150) {
print $x, ",";
$x *=2
}
DiskEdit
clojure
(take-while #(< % 150) (iterate #(* 2 %) 1))

Submit a new solution for perl or clojure
There are 18 other solutions in additional languages (cpp, csharp, erlang, fantom ...)