Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: regex and string functions help needed.

by Samy_rio (Vicar)
on Oct 25, 2006 at 13:15 UTC ( #580569=note: print w/ replies, xml ) Need Help??


in reply to regex and string functions help needed.

The below code is developed based on your logic and I am getting the following output. But I am not getting your expected output. Check whether your expected output is correct.

use strict; use warnings; my %p = (A => 2.74, B => 2.64, C => 2.5); my @range = (50,55,60,65,70,75,80,85,90); while(my $str = <DATA>){ chomp($str); print "\nInput : $str\n"; $str =~ s/(\d+)(\w)/($2 . '*') x $1/eg; $str =~ s/(\w)(\w)/$1 . '*' . $2 . '*' /eg; $str =~ s/(?!\*)$/*/; $str =~ s/(.)\*(?!\1)/"$1\*\(".$range[ord($1) - 65]."\/100\)\*"/eg +; $str =~ s/\*+$//; $str =~ s/$_/$p{$_}/g for (keys %p); print "Expression: ".$str ."\n"; print "Output : ",eval$str ,"\n\n"; } __DATA__ 4ABC 2A2B2C 3C ABC Output is: Input : 4ABC Expression: 2.74*2.74*2.74*2.74*(50/100)*2.64*(55/100)*2.5*(60/100) Output : 61.38045890064 Input : 2A2B2C Expression: 2.74*2.74*(50/100)*2.64*2.64*(55/100)*2.5*2.5*(60/100) Output : 53.96012424 Input : 3C Expression: 2.5*2.5*2.5*(60/100) Output : 9.375 Input : ABC Expression: 2.74*(50/100)*2.64*(55/100)*2.5*(60/100) Output : 2.98386

Regards,
Velusamy R.


eval"print uc\"\\c$_\""for split'','j)@,/6%@0%2,`e@3!-9v2)/@|6%,53!-9@2~j';


Comment on Re: regex and string functions help needed.
Select or Download Code
Re^2: regex and string functions help needed.
by Hofmator (Curate) on Oct 25, 2006 at 13:36 UTC
    My code in Re^3: string functions (in valavanp's original thread) gets to the same results - so we have both understood our fellow monk incorrectly (?) but in the same way :)

    Update: So, valavanp, it would really help if you could spell out for us step by step how you arrive at your expected values ...

    -- Hofmator

    Code written by Hofmator and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.

Log In?
Username:
Password:

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://580569]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others contemplating the Monastery: (5)
As of 2014-08-30 00:54 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    The best computer themed movie is:











    Results (290 votes), past polls