if (조건) {
} elsif (조건) {
} else {
}
숫자 비교 : >, <, >=, <=, ==
문자 비교 : le, ge, gt, lt, eq, ne
표준 입력 읽기
while ($line = <STDIN>)
{
}
출력하기
print "문자열\n";
hash 선언 : my %변수명;
hash 입력 : $변수명{"키"} = 값;
hash 출력 : $변수명->{"키"}
array 선언 : my @변수명 = ();
array 입력 : $변수명[인덱스];
array 출력 : $변수명[인덱스];
function argument 넘기기
sub 함수명 {
my $변수1 = shift;
my $변수2 = shift;
}
sub 함수명 {
my ($변수1, $변수2) = @_;
}
array나 hash를 넘기려면 함수의 prototype을 정해줘야 함. 아무튼 매우 까다로움.
array의 array 만들기(n차원 array)
my @template
push @template, [ $url_pattern1, $html_pattern1, $replacement_pattern1 ];
push @template, [ $url_pattern2, $html_pattern2, $replacement_pattern2 ];
template의 1차원 마지막 index에 [0], [1], [2] 에 값이 들어감
값 꺼내기
for my $i (0 .. $#template) {
my $url_pattern = $template[$i][0];
my $html_pattern = $template[$i][1];
my $replacement_pattern = $template[$i][2];
}
참고) Oreilly, Programming Perl, Chapter 4. References and Nested Data Structures
4.6 A Brief Tutorial: Manipulating Lists of Lists
변수에 들어가 있는 값을 evaluation하여 substitution하기
($1, $2를 evaluation하기 위함임)
$line =~ s/$html_pattern/ eval "$replacename_pattern" /eg;
$replacename_pattern의 내용
"> <a href=\"http:\/\/게시판.com?id=$1&num=$2\"><\/a>" - 파일에서 읽어들인 것임.
알파벳 a~z까지 찍기
for my $i ('a' .. 'z')
{
print $i."\n";
}
댓글 없음:
댓글 쓰기