2013-06-23 1 views
-1

나는 채팅을 기록하는 로봇을 작성하기 위해 Bot::BasicBot을 사용하고 있습니다. Bot :: BasicBot 생성자에서 변수 사용

my $config = { 
    cryptokey => "a" x 32, 
    nickpass => "password", 
    nick => "loggerbot", 
    server => 'irc.foonetic.net', 
    port => 6697, 
    ssl => 1 
}; 

나는 내가 hashref에 사용자 지정 옵션을 읽는 데 사용할 별도의 구성 파일이 :이처럼 보이는 구성 hashref 있습니다. 나는 그것을 시험해 보았고 올바르게 읽었다. 그러나 항목을 생성자에 추가 할 때

LogBot->new(

server => $config->{server}, 
port => $config->{port}, 
ssl => $config->{ssl}, 
channels => ["#test"], 

nick  => "$config->{nick}", 
username => "loggerbot", 
quit_message => "shutting down" 
)->run(); 

봇이 연결되지 않거나 시간이 초과되었습니다. 변수를 생략하고 값을 직접 입력하면 작동합니다. 내가 뭘 잘못하고 있니?

+0

은 nick이나 username 속성입니까? 아니면 둘다? –

+0

둘 다입니다. 구성 해시에 사용자 이름을 아직 추가하지 않았습니다. –

+0

어떤 매개 변수가 생성자에 전달되는지 확실하지 않으면'Data :: Dumper'를 사용하십시오. 'use strict;'는 좋은 생각 일 것입니다. –

답변

1

Data::Dumper을 사용하여 알아 냈습니다. 변수가 설정 파일에서 읽었을 때 각 행을 chomp하는 것을 잊어 버렸습니다. 그래서 변수 끝에는 개행 문자가 있습니다.