2012-04-14 2 views
-1

Так что у меня foreach цикл:Подсчет в скалярной ценности

foreach (1..10) { 
    print "#", $t, "\n"; 
} 

Но у меня тоже есть скаляр:

$number = 5; 

Могу ли я считать от 1 до скаляра, как так?

foreach (1..$number) { 
    print "#", $t, "\n"; 
} 

Когда я это делаю, программа просто ничего не выводит. Что я могу сделать, чтобы сделать эту работу?

+3

Вы используете переменную '$ t' в теле цикла, но не определяете ее. ['use strict; использовать предупреждения; '] (http://stackoverflow.com/questions/8023959/why-use-strict-and-warnings) предупредил бы вас о вашей ошибке. - 'foreach my $ t (1 .. $ number) {' работает по назначению. – daxim

+0

@daxim В полном коде я определил $ v ... извините. – Dynamic

ответ

2

Сценарий:

#!/usr/bin/perl 

use strict; 
use warnings; 

my $number = 5; 

foreach (1..$number) { 
    print "#$_\n"; 
} 

или

#!/usr/bin/perl 

use strict; 
use warnings; 

my $number = 5; 

print "#$_\n" for 1..$number; 

Выход:

#1 
#2 
#3 
#4 
#5 
Смежные вопросы