혹시 perl 잘 하시는분 계신가요??

   조회 4214   추천 0    

 #!/usr/bin/perl

while (<>) {
       chomp;

       # CHANGE ME: To the actual fields you use in your CSV file
       my ($domain) = split(/\,/, $_, 1);

       print qq{md $domain URL http://mail.$domain\n};
       print qq{\n};
}


이런 쉘스크립트를 작성했습니다. 원래 의도는 example.com이 입력 되어 있는 CSV를 함께 실행했을 때 화면에

md example.com URL example.com

가 떠야 하는데 실제로 실행하면

URL example.com

이렇게 뜹니다. 제가 작성한 스크립트에 어떤 문제가 있을까요?

짧은글 일수록 신중하게.
가정선생 2016-05
문자열 $domain 을 split 해서 배열로 만들어서 그런것이 아닌가요?
배열의 첫번째만 찍고 마는 듯.
$domain[0] 하면 될 듯합니다.
     
미나리나물 2016-05
두 변수 모두 $domain[0]으로 하면 둘 다 빈 화면만 출력이 되고,
선행변수만 $domain[0] 으로 하고, 뒤에 있는 변수는 $domain 으로 하면
md  URL example.com
이렇게 앞에는 빈칸으로 나오고 뒤쪽만 변수가 지정되어 나옵니다.
ㅠㅠ
          
가정선생 2016-05
0번이 내용 없이 잘린것이면 다른 $domain[1] 에 있지 않을까요?
               
미나리나물 2016-05
일단 배열로 찾으면 0~5까지 넣어 봤는데 전부 비어 있더라구요...이유를 모르겠습니다 ㅠㅠ
가정선생 2016-05
$domain 은 배열이 아니라 스트링 이군요. 펄에서는 명칭이 리스트 군요. 위에 제가 쓴 말은 다 틀린 말이네요 ㅎㅎ
찾아보니 원래 $_ 을 쪼개서 $domain 에 넣으셨군요.
cvs 한줄에 도메인이 여러개면 @domain = split/,/, $_, 갯수;
한개면 my($domain) = split(/,/, $_);
만 하면 되지 않을까요? $_ 뒤에 , 어차피 첫번째 한개가 url이면 1은 빼고,
그래도 출력이 안되면 값을 복사해서 써보시면 어떨까요?

20년 전에 펄과 마이에스큐엘, 아파치로 도서관 관리를 웹베이스로 짜줬는데, 당췌 기억이 안나는 것이, 시간은 어쩔 수 없네요.


QnA
제목Page 2405/5725
2014-05   5240239   정은준1
2015-12   1765666   백메가
2016-05   5795   KShiHyun
2016-05   5696   매니아1
2016-05   10485   박은선
2016-05   4961   제주김재민
2016-05   6556   매니아1
2016-05   7980   회원K
2016-05   4215   미나리나물
2016-05   3672   피파도
2016-05   5471   나파이강승훈
2016-05   5685   이원재K
2016-05   5293   양창권
2016-05   8070   심바트
2016-05   5231   장현재
2016-05   11410   아마데우쓰
2016-05   8869   2CPU최주희
2016-05   5243   테러리스트
2016-05   4401   하셀호프
2016-05   4681   Christopher
2016-05   4869   우루리루
2016-05   9408   매니아1