about matching in a list context



Hello,

I don't understand this behavior of perl:


perl -lne 'print for /^(\d+\.\d+E-\d+)$/;' << EOF
***********
4.62972E-13
4.63098E-13
4.62983E-13
***********
EOF

returns corrrectly --->

4.62972E-13
4.63098E-13
4.62983E-13


Whereas if I do this :

perl -lne 'print for /^\d+\.\d+E-\d+$/;'

I get (from the exact same input as above) :
1
1
1

Now I want to know what's going on?

Thanks
Rakesh

.