NAME
Finance::OFX::Parse::Simple - Parse a simple OFX file or scalar
VERSION
Version 0.07
SYNOPSIS
use Finance::OFX::Parse::Simple;
my $parser = Finance::OFX::Parse::Simple->new;
my $data_from_file = $parser->parse_file("bank-statement.ofx"); # returns a reference to a list of hash references
my $data_from_scalar = $parser->parse_scalar($ofx_data);
METHODS
new
Create a new parser object.
parse_file
Takes a filename as an argument, slurps the file into memory, parses it and returns a reference to a list of hash references. Each hash reference contains two keys: 'account_id' which is the account number, and 'transactions' which is a reference to a list of hash references, each containing details for a single transaction.
Returns false if no filename was provided, the file is not a plain file, or the file is not openable.
parse_scalar
Takes a scalar as an argument containing OFX data. Returns a reference to a list of hash references. Each hash reference contains two keys: 'account_id' which is the account number, and 'transactions' which is a reference to a list of hash references, each containing details for a single transaction.
Returns false if no non-empty scalar is provided.
NOTES
The decimal point character (e.g. . or ,) can be configured before parsing OFX data so that it is handled correctly:
If the environment variable MON_DECIMAL_POINT exists then this is used as the decimal point separator. Failing that, the module will try to use the locale setting of the local system, through the POSIX module. As a last resort a . is used as the separator.
If you are working with OFX data from multiple sources, you can control the separator by setting the MON_DECIMAL_POINT environment variable before parsing each dataset, e.g.:
$ENV{MON_DECIMAL_POINT} = '.';
my $transactions_in_america = $parser->parse_file("bank-of-america.ofx");
local $ENV{MON_DECIMAL_POINT} = ',';
my $transactions_in_germany = $parser->parse_file("deutsche-bank.ofx");
AUTHOR
Jeremy Jones, <jjones at cpan.org>
BUGS
This module is designed to be used with OFX bank statements, and does not currently handle the style of OFX files which are produced by credit card companies. Patches to add make this module suitable for use with credit card style files are welcome.
Please report bugs and feature requests through Github at https://github.com/JeremyJones/Finance--OFX--Parse--Simple/issues or through CPAN at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Finance-OFX-Parse-Simple.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Finance::OFX::Parse::Simple
The latest version of this module is available on Github:
http://github.com/JeremyJones/Finance--OFX--Parse--Simple
You can also look for information at:
RT: CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Finance-OFX-Parse-Simple
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
COPYRIGHT & LICENSE
Copyright 2009-10 Jeremy Jones, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.