James Parsons wrote:
> Ok here  go's ,  I'm just starting to Learn Perl  and it's a very slow
> process.
>
> I have this script the calculates the sum  a bunch of  numbers and
> prints the final number to file, but my problem is I would like the
> number to have a floating  $ sign but I'm sure how do this
>
> Any help would  be great
>
>
> Script:
>
> #!/usr/bin/perl -w
>
> use strict;
>
> my $total = 0;
>
> open(FILE,"/usr/local/logs/pos/dollar_me") || die $!;
>
> $total += $_ while(<FILE>);
>
> close(FILE);
>
> printf ("%7.2f\n",$total);
>
>
> The number comes out as 120.23   instead of $120.23..

To my knowledge there's no built-in way of outputting floating
dollars, but since it's Perl you can do it any number of ways.
The function

    printf ($format, @list)

is the same thing as

    print (sprintf ($format, @list))

so the easiest way I can think of is to format the value and
add the dollar before you print it:

    my $val = > sprintf "%7.2f", $total;
    $val =~ s/\s\b/$/;
    print $val, "\n";

which formats the value of $total into a string in $val,and
then changes the last space before the number into a dollar.
\s matches any single whitespace characters and \b is a
zero-length match on a word boundary, i.e. the beginning
of the number.

HTH,

Rob






-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to