--- 3m-810.pl 2009/03/29 01:05:49 25 +++ 3m-810.pl 2009/04/01 16:59:09 26 @@ -11,16 +11,20 @@ use IO::Socket::INET; my $meteor_server = '192.168.1.13:4671'; - -my $meteor = IO::Socket::INET->new( $meteor_server ) - || die "can't connect to meteor $meteor_server: $!"; +my $meteor_fh; sub meteor { my @a = @_; push @a, scalar localtime() if $a[0] =~ m{^info}; + if ( ! defined $meteor_fh ) { + $meteor_fh = IO::Socket::INET->new( $meteor_server ) + || warn "can't connect to meteor $meteor_server: $!"; # FIXME warn => die for production + $meteor_fh = 0; # don't try again + } + warn ">> meteor ",dump( @a ); - print $meteor "ADDMESSAGE test ",join('|',@a),"\n"; + print $meteor_fh "ADDMESSAGE test ",join('|',@a),"\n" if $meteor_fh; } my $debug = 0; @@ -52,6 +56,7 @@ 'parity=s' => \$parity, 'stopbits=i' => \$stopbits, 'handshake=s' => \$handshake, + 'meteor=s' => \$meteor_server, ) or die $!; my $verbose = $debug > 0 ? $debug-- : 0;