just trying to learn pack/unpack function in perl..
http://perldoc.perl.org/perlpacktut.html
I thought i followed pretty much to the teeth from the tutorial itself
and when I type them into my linux box , it didn't exactly work the way
I expected them to.. What am I doing wrong?
[EMAIL PROTECTED] ~]# cat -A pack_test2.pl
#!/usr/bin/perl$
$
use strict;$
use warnings;$
$
my $tot_income;$
my $tot_expend;$
use POSIX;$
$
my $date = POSIX::strftime("%m/%d/%Y", localtime);$
$
while (<DATA>) {$
my($date, $desc, $income, $expend) = unpack("A10 A27 A7 A*", $_);$
$tot_income += $income;$
$tot_expend += $expend;$
print_this($tot_income,$tot_expend);$
}$
$
sub print_this {$
my($tot_income,$tot_expend) = @_;$
$tot_income = sprintf("%.2f", $tot_income); # Get them into $
$tot_expend = sprintf("%.2f", $tot_expend); # "financial" format$
print pack("A10 A27 A7 A*", $date, "Totals", $tot_income,
$tot_expend);$
}$
$
__END__$
01/24/2001 Ahmed's Camel Emporium 1147.99$
01/28/2001 Flea spray 24.99$
01/29/2001 Camel rides to tourists 235.00$
But it's not working out well..
[EMAIL PROTECTED] ~]# ./!$
./././././././pack_test2.pl
Argument "" isn't numeric in addition (+) at ./././././././pack_test2.pl
line 14, <DATA> line 1.
Argument "" isn't numeric in addition (+) at ./././././././pack_test2.pl
line 14, <DATA> line 2.
07/19/2008Totals 0.00
1147.9907/19/2008Totals 0.00
1172.9807/19/2008Totals 235.00 [EMAIL PROTECTED] ~]#
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/