version 1.15, 2020/11/18 23:44:46 |
version 1.16, 2020/11/19 19:56:48 |
Line 22 use Getopt::Std qw(getopts); |
|
Line 22 use Getopt::Std qw(getopts); |
|
our ($opt_I); |
our ($opt_I); |
|
|
my %banks = ( |
my %banks = ( |
|
"bbva_usa" => \&import_bbva_usa, |
"capital_one_credit" => \&import_capital_one_credit, |
"capital_one_credit" => \&import_capital_one_credit, |
"chase_credit" => \&import_chase_credit, |
"chase_credit" => \&import_chase_credit, |
"optum_hsa" => \&import_optum_hsa, |
"optum_hsa" => \&import_optum_hsa, |
|
|
); |
); |
|
|
# === SUBROUTINES ===================================================== |
# === SUBROUTINES ===================================================== |
|
|
|
sub import_bbva_usa ($$$) { |
|
my ($account, $csv_account, $line) = @_; |
|
$line =~ |
|
m#(\d+)/(\d+)/(\d+),(.*?),\S+,(\(?\d+\.\d+\)?),# or |
|
die "parse error: $line"; |
|
my ($month, $day, $year, $description, $amount) = |
|
($1, $2, $3, $4, $5); |
|
$amount =~ s/\((\d+\.\d+)\)/-$1/; |
|
return "$year$month$day", |
|
get_accounts_by_amount_sign($amount, $account, $csv_account), |
|
$description; |
|
} |
|
|
sub import_chase_credit ($$$) { |
sub import_chase_credit ($$$) { |
my ($account, $csv_account, $line) = @_; |
my ($account, $csv_account, $line) = @_; |