At the risk of being obnoxious, I must politely request: If you find the time, could you break down the following lines for me? They are too advanced for me to read. next if ! length $_; next if int($i/$_)!=($i/$_) or $i==$_; (I suppose I don't understand 'next') print join "\n", grep {length $_} @prime;