my @test = ( "text text text 1 text", "1 text text text 2 text 3 ", "text 1 text text 2 text", "text text text 1 text 2 3.0", "1 2 3 4 5 6 7 8 9 10 11", "text text text text" ); my @filtered = map {/(\d+)(?:\.0*)?\D*$/; $1} @test; print join "\n", @filtered;