http://qs321.pair.com?node_id=1100791


in reply to whats wrong? it gives me many error

Additionally to the answers you already got on SO you should use my for all variables including $i .

have a look at use diagnostics to improve error messages (and read them ;-)

use strict; use warnings; use diagnostics; for $i (0..10) { print $i; }

read the part about lexically scoped variables:

Global symbol "$i" requires explicit package name at /tmp/tst2.pl line + 6. Global symbol "$i" requires explicit package name at /tmp/tst2.pl line + 7. Execution of /tmp/tst2.pl aborted due to compilation errors (#1) (F) You've said "use strict" or "use strict vars", which indicates + that all variables must either be lexically scoped (using "my" or +"state"), declared beforehand using "our", or explicitly qualified to say which package the global variable is in (using "::"). Uncaught exception from user code: Global symbol "$i" requires explicit package name at /tmp/tst2.pl +line 6. Global symbol "$i" requires explicit package name at /tmp/tst2.pl line + 7. Execution of /tmp/tst2.pl aborted due to compilation errors. at /tmp/tst2.pl line 10

if you don't know what lexically scoped is, have a look at Coping with Scoping

Cheers Rolf

(addicted to the Perl Programming Language and ☆☆☆☆ :)

PS: crossposting provokes downvotes! :)