99 lines
1.2 KiB
Markdown
99 lines
1.2 KiB
Markdown
# 반복문
|
|
|
|
## 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 (...);
|
|
}
|
|
``` |