동일한 크기의 두 배열을 반복하고 각 인덱스에서 발견 된 요소로 문자열을 대체하려고합니다.루프에서 카운터를 사용하여 배열 요소에 액세스 할 수 없습니다.
루프는 첫 번째 요소 만 수행합니다. $ I < = $ # URL 이용
가#!/usr/bin/perl
use strict;
use warnings;
# SQL statement for string replace
my $insert = "INSERT INTO table (JOB, URI) VALUES ('JOB', 'URL');";
#array of jobs
my @jobs = ("job1", "job2");
#array of url's
my @urls = ("http://www.yahoo.com", "http://www.google.com");
# for each job replace the "URL" with a url from
# the url array, then print the new sql insert statement
for(my $i = 0; $i <= $#jobs; $i++){
$insert =~ s/URL/$urls[$i]/g;
print $insert."\n";
}
편집 -이 올바른 루프 크기이지만 $ URL에 호를 갖는다 $ I]는 결코 그 어레이 내의 다른 소자를 얻을 수 없다. 그 항상 같은 요소
나는 이것이 내가 대체하고있는 문자열의 문제라고 생각한다. 루프는 예상대로 요소들을 출력 할 것이지만, 문자열 치환에서 카운터를 사용할 때는 그렇지 않다.