accounts.pl:sub init_trans {
accounts.pl:sub make_acct {
accounts.pl:sub find_group {
accounts.pl:sub check_cats {
accounts.pl:sub list_missing_cats {
accounts.pl:sub load_trans {
accounts.pl:sub load_cbb_trans {
accounts.pl:sub save_trans {
categories.pl:sub init_cats {
categories.pl:sub sort_catkeys {
categories.pl:sub edit_cat {
categories.pl:sub insert_cat {
categories.pl:sub delete_cat {
categories.pl:sub find_cat {
categories.pl:sub get_cat_info {
categories.pl:sub all_cats {
categories.pl:sub load_dbm_cats {
categories.pl:sub check_cats_accounts {
categories.pl:sub list_missing_accounts {
categories.pl:sub def_cats {
categories.pl:sub load_cats {
categories.pl:sub save_cats {
categories.pl:sub make_cats {
common.pl:sub pad { 
common.pl:sub file_dirname {
common.pl:	return substr($file, 0, ($pos + 1));
common.pl:sub file_basename {
common.pl:    return substr($file, ($pos + 1));
common.pl:sub file_root {
common.pl:    return substr($file, 0, $pos);
common.pl:sub file_extension {
common.pl:    return substr($file, ($pos + 1));
common.pl:sub nice_date {
common.pl:sub raw_date {
common.pl:sub start_date {
common.pl:	$value = substr($idate, 1, 3);	# a maximum of 99 months !
common.pl:	$value = substr($idate, 1, 4);	# a maximum of 999 days !
common.pl:sub century {
engine.pl:sub debug {
engine.pl:sub get_next_key {
engine.pl:sub CheckTrans {
engine.pl:sub SetupForArg {
engine.pl:sub CompareTrans {
engine.pl:sub GetFields {
engine.pl:sub ChangeKey {
engine.pl:sub CompareCheckNums {
engine.pl:sub sort_keys {
engine.pl:sub calc_trans {
engine.pl:sub create_trans {
engine.pl:	my($century) = (substr($date, 0, 2) lt '80' ? '20' : '19');
engine.pl:sub create_xfer {
engine.pl:    $to_file = substr($to_file, 1);
engine.pl:sub update_trans {
engine.pl:sub update_xfer {
engine.pl:sub delete_trans {
engine.pl:sub delete_xfer {
engine.pl:    $to_file = substr($to_file, 1);
engine.pl:sub next_trans {
engine.pl:sub find_trans {
engine.pl:sub get_current_index {
engine.pl:sub first_trans {
engine.pl:sub all_trans {
engine.pl:            $cutcheck = substr($check, $checklen - 5, 5);
engine.pl:        $cutdesc = substr($desc, 0, 15);
engine.pl:        $cutcom = substr($com, 0, 15);
engine.pl:	$nicecat = substr($nicecat, 0, 9);
engine.pl:sub part_trans {
engine.pl:            $cutcheck = substr($check, $checklen - 5, 5);
engine.pl:        $cutdesc = substr($desc, 0, 15);
engine.pl:        $cutcom = substr($com, 0, 15);
engine.pl:	$nicecat = substr($nicecat, 0, 9);
engine.pl:sub first_uncleared_trans {
engine.pl:sub next_uncleared_trans {
engine.pl:sub select_trans {
engine.pl:sub unselect_trans {
engine.pl:sub clear_trans {
engine.pl:sub get_cleared_bal {
engine.pl:sub init_trans {
engine.pl:sub fix_splits {
engine.pl:sub load_dbm_trans {
engine.pl:sub cache {
engine.pl:sub encrypt {
engine.pl:sub decrypt {
engine.pl:sub duplicate {
engine.pl:sub compare {
engine.pl:sub logging {
engine.pl:sub quit {
export.pl:sub save_cbb {
export.pl:sub export_qif {
export.pl:	$yr = substr($date, 2, 2);
export.pl:	$mo = substr($date, 4, 2);
export.pl:	$dy = substr($date, 6, 2);
export.pl:	print QIF "L$cat\n" unless (substr($cat, 0, 1) eq "\|");  # split txn
export.pl:	if (substr($cat, 0, 1) eq "\|")	{
file.pl:sub get_files {
groups.pl:sub init_accts {
groups.pl:sub sort_accts {
groups.pl:sub edit_acct {
groups.pl:sub add_acct {
groups.pl:sub delete_acct {
groups.pl:sub all_accts {
groups.pl:sub find_acct {
groups.pl:sub load_accts {
groups.pl:sub save_accts {
groups.pl:sub make_group {
import.pl:sub load_cbb {
import.pl:sub import_qif {
import.pl:    my($iend, $incat, $splitsub, $insplit, $OS);
import.pl:	    ($month, $day, $year) = split(/\/ */, substr($_,1));
import.pl:	    $amt = substr($_,1);
import.pl:		$debit = substr($amt,1); # remove the '-' to make amt >= 0
import.pl:	    $cleared = substr($_,1);
import.pl:	    $check = substr($_,1);
import.pl:	    $desc = substr($_,1);
import.pl:	    $cat = substr($_,1);
import.pl:	    if ( substr($cat,0,1) eq "[" ) {
import.pl:		    $incat = substr($cat,1,$iend - 1);
import.pl:	    $splitsub = substr($_,1);
import.pl:	    if ( substr($splitsub,0,1) eq "[" ) {
import.pl:		$iend = index($splitsub,"]");
import.pl:		    $insplit = substr($splitsub,1,$iend - 1);
import.pl:		    $splitsub = "[".$insplit."]";
import.pl:		$split = "|".$splitsub."|";
import.pl:		$split = $split.$splitsub."|";
import.pl:	    $split = $split.substr($_,1)."|";
import.pl:	    $split_amt = substr($_,1);
import.pl:	    $com = substr($_,1);
import.pl:sub import_cbb8 {
import.pl:sub OSsource {
log.pl:sub log_txn {
log.pl:sub log_fmt_date {
memorized.pl:sub init_mems {
memorized.pl:sub insert_mem {
memorized.pl:sub insert_and_update_mem {
memorized.pl:sub rehash_mems {
memorized.pl:sub find_mem {
newwrap.pl:sub BEGIN {
newwrap.pl:sub main_loop {
reports.pl:sub process_rep_args {
reports.pl:    $cur_year = substr(&raw_date, 0, 4);
reports.pl:        if ( substr($arg, 0 , 1) eq "-" ) {
wrapper.pl:sub BEGIN {
wrapper.pl:sub main_loop {
