次のようなことができます:
my $hr = {start=>3, end=>20};
for my $i ($hr->{start}..$hr->{end}){
...
}
しかし、その値$i
を使用してインクリメントしたくない場合はどうでしょうか。$hr->{start}
以下は機能しません。
for $hr->{start} ($hr->{start}..$hr->{end}){
...
}
代替案:
以下は対処方法の1つですが、反復変数でインクリメントを含める方法はありますか?
for ($hr->{start}..$hr->{end}){ ... $hr->{start}++; }
c-for-loop を使用する別の方法:
for ( ; $hr->{start} <= $hr->{end} ; $hr->{start}++){ ... }