Beefy Boxes and Bandwidth Generously Provided by pair Networks
good chemistry is complicated,
and a little bit messy -LW

Re^4: string functions

by valavanp (Curate)
on Oct 25, 2006 at 11:15 UTC ( #580544=note: print w/ replies, xml ) Need Help??

in reply to Re^3: string functions
in thread string functions

i have the str in an excel file which has approximately 400 entries like 4ABC,BC,3C,2BC,3B,5C,B2CD,3AB2C,3A,C,D... etc. But the maximum no. of characters is 6.How can i pass it.

Comment on Re^4: string functions
Re^5: string functions
by Hofmator (Curate) on Oct 25, 2006 at 11:27 UTC
    1. mark the column in Excel and copy
    2. paste the column into the DATA section of the follwoing script (replacing the example that is already there)
    3. run the script and redirect the output into a file called output.csv
    4. open the output.csv in Excel and copy and paste from there
    use strict; use warnings; my @p = (1.5, 2.5, 3.5 ); my @m = (0.5, 0.55, 0.60); sub calc { my $i = shift || 1; my $idx = ord(shift)-65; return $m[$idx] * ($p[$idx]**$i); } for my $str (<DATA>) { chomp($str); my $res = 1; while ($str =~ /(\d)?([A-Z])/g) { $res *= calc($1, $2); } print "$str,$res\n"; } __DATA__ 2A2B2C ABC
    You have to make sure, though, that your @p and @m Arrays are expanded to the appropriate number of elements, corresponding to the number of letters from the alphabet that you use. So if you eg. use the letters from A to D then @p and @m should both have 4 elements.

    -- 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?

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

How do I use this? | Other CB clients
Other Users?
Others lurking in the Monastery: (8)
As of 2014-10-25 06:06 GMT
Find Nodes?
    Voting Booth?

    For retirement, I am banking on:

    Results (142 votes), past polls