K - Perl bindings for k (aka q, aka kdb, aka kx)
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'], # }, # ]
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
K's OO interface is a thin layer of sugar on top of K::Raw which mimics the C library as faithfully as possible.
For now, K returns very simple Perl representations of k values. For example, inside k timestamps are 64-bit ints where the value is the number of nanoseconds since 2001.01.01D00:00:00.000 . For such values, K returns the int value as a string (ex: '385906394151617280'). This will probably change.
K::Raw, Kx, http://kx.com
http://github.com/wjackson/k-perl
Whitney Jackson <whitney@cpan.org>
<whitney@cpan.org>
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.
To install K, copy and paste the appropriate command in to your terminal.
cpanm
cpanm K
CPAN shell
perl -MCPAN -e shell install K
For more information on module installation, please visit the detailed CPAN module installation guide.