#! perl -slw use strict; #open DATA, "test2.txt" or die "Cant open file"; print "Receiptno. Consumer name Consumer no. Subdivision Type of work Phase Cheque no. Amount"; my $total = 0; while( ) { my @caps = m[ ( [0-9\.]+ )\s+ ( \S+ (?: \s \S+ )? ) \s+ ( [0-9\.]+ )\s+ ( \S+ (?: \s \S+ )? ) \s+ ( \S+ (?: \s \S+ )? ) \s+ ( \S+ (?: \s \S+ )? ) \s+ ( [0-9\.]+ ) \s+ ( \S+ (?: \s \S+ )? ) \s+ ]x; printf "%-11s %-23s %-12s %-14s %-16s %-10s %-11s %-14.2f\n", @caps; $total += $caps[ -1 ]; } print "Total: $total"; __DATA__ 127 Stella Somethinglong 2345 Petersburg New service Single 23456 1330.00 128 Sandra 4567 Elm Street Replacement Three 23445 4800.00 129 Tessa Barry 2345 Bakersville New service Single 37456 1330.00