$self->{venues}->{$i}->{client} = AnyEvent::WebSocket::Client->new; my $cv = $self->{venues}->{$i}->{client}->connect("wss://api.stockfighter.io/ob/api/ws/$self->{account}/venues/$i/tickertape")->cb(sub{ our $connection = eval { shift->recv }; if($@) { warn $@; return; } $connection->on(each_message => sub { my($connection, $message) = @_; my $decode = parse_json($message->{body}); print "got a message ticker!\n"; $self->{venues}->{$i}->{ticker_tape}->send($message->{body}); }); $connection->on(finish => sub { # $connection is the same connection object my($connection) = @_; $connection->close; }); });