#!/usr/local/plan9/bin/rc path=$PLAN9/bin # List with odd items as keys and even items as values data=('foo' 'bar' \ 'bar' 'baz' \ 'test' 'passed' \ 'foo' 'one more bar' \ 'dummy' 'qwerty' \ 'quuix' 'dummy') fn get { if (! ~ $#* 0) { k=1 v=0 while(test $k -le $#map) { if (~ $1 $map($k)) { v=`{echo $k + 1|bc} } k=`{echo $k + 2|bc} } if (! ~ $v 0) echo $map($v) } } map=$data get $1