The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

K - Perl bindings for k (aka q, aka kdb, aka kx)

SYNOPSIS

    my $k = K->new(
        host     => 'kserver.example.com',
        port     => 5000,
        user     => 'awhitney',
        password => 'kdb4eva',
    );

    $k->cmd( '4 + 4' ); # 8

    $k->cmd( q/"abc"/ ); # [ 'a', 'b', 'c' ]

    $k->cmd( q/`foo`bar!(1;2)/ ); # { foo => 1, bar => 2 }

    $k->cmd( q/2012.03.24D12:13:14.15161728/ ); # '385906394151617280'

    # table
    $k->cmd( q/([] foo: (`a;`b); bar: (`c;`d))/ );
    # {
    #   foo => ['a', 'b'],
    #   bar => ['c', 'd'],
    # }

    # table w/ primary key
    $k->cmd( q/([p: (`a;`b)] foo: (`b;`c); bar: (`d;`e))/ );
    # [
    #   {
    #     p   => ['a', 'b']
    #   }
    #   {
    #     foo => ['b', 'c'],
    #     bar => ['d', 'e'],
    #   },
    # ]

DESCRIPTION

Connect to a remote K or Q instance. Execute commands. Read replies.

K wraps the C library defined by k.h and described here http://code.kx.com/wiki/Cookbook/InterfacingWithC .

K's OO interface is a thin layer of sugar on top of the K::Raw which mimics the C library as faithfully as possible.

For now, K returns very Perl simple representations of k values. For example, internaly k timestamps are 64-bit ints where the value is the number of nanoseconds since 2001.01.01D00:00:00.000 . K returns the int value as a string (ex: '385906394151617280'). This will likely change.

SEE ALSO

K::Raw, Kx, http://kx.com

REPOSITORY

http://github.com/wjackson/k-perl

AUTHORS

Whitney Jackson <whitney@cpan.org>

COPYRIGHT & LICENSE

    Copyright (c) 2011 Whitney Jackson. All rights reserved This program is
    free software; you can redistribute it and/or modify it under the same
    terms as Perl itself.