[완료]Perl(use Expect) 특수문자 표현 질문 입니다.
===========================================================================================================================
1 [qr /[#] /, sub { my $self = shift;
2 $self->send("ssh -l root $ARGV[3] "echo 'vsftpd : 111.234.32.0/255.255.255.0' >> /etc/hosts.allow ; exit"\n");
===========================================================================================================================
현재 문제가 되는 부분은 2번 Line 입니다.
111.234.32.0/255.255.255.0 의 내용을 목적지 서버의 /etc/hosts.allow 에 추가하는 건데
특수문자가 섞여서 perl 에서는 다르게 인식하는것 같습니다.'
\ => 요거를 특수문자 앞에 넣으면 된다고 해서 그렇게도 해봤는데 잘못한건지 잘 안됩니다.ㅜㅜ
ssh -l root $ARGV[3] "echo 'vsftpd : 111.234.32.0/255.255.255.0' >> /etc/hosts.allow ; exit"
요내용을 어떤식으로 고쳐야 Perl 에서 곧이곧대로(?) 인식을 해줄까요?
혹 이런 내용이 나와있는 사이트라도 알려주시면 감사합니다.
Perl 기초부터 천천히
목적을 위해서 copy&paste quick&dirty의 방법도 좋지만 기본은 익히시고 가시는게 나중에 도움이 되실듯 합니다.
http://learn.perl.org/ 에 공개되어 있는 책인
Beginning Perl ( http://learn.perl.org/books/beginning-perl/ )의 Chapter 2 p41~p44 를 읽어보시면 스스로 답을 찾을 수 있으실 겁니다.
http://greenokapi.net/talks/ReadablePerl.pdf 의 p9 ~ p19 도 보시구요.
그다음 http://perldoc.perl.org/perlop.html#Quote-and-Quote-like-Operators 에 다양한 quote 연산자가 어떤 기능을 하는지 보시면 됩니다.
Perl의 Quote 연산자는 어느 언어보다 유연하고 막강합니다.
감사합니다!
좋은 사이트네요~ㅎㅎ
참고해서 꼭 성공하겠습니다.ㅎ
후기 : 흠 성공하였습니다.^^
댓글 달기