• Status: Solved
• Priority: Medium
• Security: Public
• Views: 768

# Perl multiplication

Hi,
I'm working now with new shopping cart script.
As you know probably we have new EURO currency
since January 1st in Europe.
This currency has fixed & definitive rate to all other
european currencies.

My total amount in French Francs in my shopping cart is
displayed with this variable:

print "\$ITEM{'price'}"

And fixed parity of FRF to new EURO is  0.152449

I tried to get the equivalency of total amount in EURO
this way :

print "(\$ITEM{'price'} ** 0.152449)"

but the script doesn't make a multiplication at all and displays
simply "item price in FRF taken from database" ** 0.152449  on the screen.

Then I tried to create variable \$euro in shop.cfg
which was stipulated:

\$euro = \$ITEM{'price'}*0.152449

and then in the script:  print"\$euro"

but this solution prints "0" (zero) on the screen instead
total in euros.

I know that this is really Perl school problem but maybe you
can avoid me to search in all Perl books;I didn't find really
simple solution in Perl tutorial included with Perl.

Happy New Year for all.

0
• 4
• 3
1 Solution

Commented:
Perl Question
Title: "Perl multiplication"

Date: Monday, January 04 1999 - 03:32PM PST
Points: 50 Points (Easy)

Hi,
I'm working now with new shopping cart script.
As you know probably we have new EURO currency
since January 1st in Europe.
This currency has fixed & definitive rate to all other
european currencies.

My total amount in French Francs in my shopping cart is
displayed with this variable:
What is in \$ITEM{price}? if it is the string 'price in FRF' that will be treated as 0 when used as a number
0

Author Commented:
Edited text of question
0

Author Commented:
Edited text of question
0

Author Commented:
\$ITEM{price} is the price in FRF taken from flat text database so it's different
for each item but always in FRF
0

Commented:
the string "item price in FRF taken from database" does not look like a number to Perl
if you want \$ITEM{'price'}*0.152449 to be other than 0, y0u must place a number in \$ITEM{'price'}
(by the way ** is exponentiation, not multiplication)
0

Author Commented:
when I wrote "item price in FRF taken from database" it was just to say that
the multiplication is not done by the script and full display on the screen is:
price of item taken from database,then signs ** and 0.152449,so nothing
is done.
I have one fixed value which is euro rate and another value is french francs
price taken from database which is different for each item.
I would like simply get the prices in euros displayed on the screen near FRF price
for each item,always with the same exchange rate which will never change more.
0

Commented:
print "(\$ITEM{'price'} ** 0.152449) = ",\$ITEM{'price'} * 0.152449;

\$euro = \$ITEM{'price'}*0.152449; print \$euro; #should work too
0

Commented:
\$euro = "23";
\$item{'test'} = \$euro * 0.152449;
print \$item{'test'};

works fine... check out the fact your are doing multiplication, not exponentiation.

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.