I know all the Perl Rocket Scientists hang out in this mailing list, so I
though this was the best place to post this.... ;-)
I am working on a project for one of the 3 main UK clearing banks, on a
store & forward messaging system. Approx 1000 laptops per day log on to
a central Unix server over X25 and download quotation and proposal
information. This is forwarded on to a number of the Bank's core
mainframe systems. One particular mainframe system requires extensive
preprocessing of the data before it is shipped, including calculation of
values, splitting/joining of records and processing of deletion records.
The input records themselves are complex, consisting of several levels of
header and variable numbers of subrecords, of which there are 46
different types, with between 10 and 60 or so fields per subrecord. The
data is formatted as a mix of fixed-length and tab-separated records. In
addition, the record format is constantly changing...
I have written the data conversion part as a Perl program, which reads in
the input file, bursts the records into a collection of Perl5 objects and
then maps them across into the output records. I have a base 'Record'
class, from which I have derived 'tab-separated' and 'fixed-length'
record classes. These are then instanced with the actual fields required
by each subrecord. The classes support 'Read' and 'Write' methods, so
all that is needed in addition is the actual value calculation.
Basically, it all works like a dream. It's fast, robust, flexible and
easy to modify. The alternative was to code the whole thing in C, and
bearing in mind the flexible nature of the requirements and the short
timescales available, it would have been a nightmare.
Thanks to all of you who have contributed vast amounts of effort to Perl,
you have produced a wonderful tool. I truly believe that Perl5 is one of
the best general-purpose tools available, and that it is now robust
enough for real commercial use. I look forward to the day when it is
part of every Unix distribution... ;-)
Alan Burlison aburlison@cix.compulink.co.uk
though this was the best place to post this.... ;-)
I am working on a project for one of the 3 main UK clearing banks, on a
store & forward messaging system. Approx 1000 laptops per day log on to
a central Unix server over X25 and download quotation and proposal
information. This is forwarded on to a number of the Bank's core
mainframe systems. One particular mainframe system requires extensive
preprocessing of the data before it is shipped, including calculation of
values, splitting/joining of records and processing of deletion records.
The input records themselves are complex, consisting of several levels of
header and variable numbers of subrecords, of which there are 46
different types, with between 10 and 60 or so fields per subrecord. The
data is formatted as a mix of fixed-length and tab-separated records. In
addition, the record format is constantly changing...
I have written the data conversion part as a Perl program, which reads in
the input file, bursts the records into a collection of Perl5 objects and
then maps them across into the output records. I have a base 'Record'
class, from which I have derived 'tab-separated' and 'fixed-length'
record classes. These are then instanced with the actual fields required
by each subrecord. The classes support 'Read' and 'Write' methods, so
all that is needed in addition is the actual value calculation.
Basically, it all works like a dream. It's fast, robust, flexible and
easy to modify. The alternative was to code the whole thing in C, and
bearing in mind the flexible nature of the requirements and the short
timescales available, it would have been a nightmare.
Thanks to all of you who have contributed vast amounts of effort to Perl,
you have produced a wonderful tool. I truly believe that Perl5 is one of
the best general-purpose tools available, and that it is now robust
enough for real commercial use. I look forward to the day when it is
part of every Unix distribution... ;-)
Alan Burlison aburlison@cix.compulink.co.uk