# 반복문

## for … / foreach …

```perl
#!/usr/bin/perl
use warnings;
use strict;

my @array = (0..9);
for (@array) {
    print ("$_", "\n");
}
```

`$_`는 반복자라고 불리는 특수 변수입니다. 반복자를 명시하지 않으면 $_라는 특수 변수가 사용됩니다. 다음과 같이 반복자를 명시할 수도 있습니다.

```perl
for my $i (@array) {
    print ("$i", "\n");
}
```

반복자의 값을 변경하면 배열의 요소에도 변경된 값이 적용됩니다.

```perl
my @array = (0..9);
for (@array) {
    $_ = $_ +1;
}
print "@array\n";
```

C-스타일의 for 구문도 사용할 수 있습니다.

```perl
my @array = (0..9);
for (my $i=0; $i<=$#array; $i++) {
    print ("$array[$i]", "\n");
}
```

## while …

```perl
print "$i++\n" while ($i > 0);
```

```perl
while (my $input = <STDIN>) {
    chomp $input;
}
```

## do … while …

```perl
do {
    ...
} while (...);
```

## until …

```perl
until(...) {
    ...
}
```

## do … until …

```perl
do {
    ...
} until (...);
```

## 흐름 제어

### next

C 언어의 continue와 비슷합니다.

```perl
while (...){
    next if (...);
}
```

### last

C 언어의 break와 비슷합니다.

```perl
while (...){
    last if (...);
}
```