- mark the column in Excel and copy
- paste the column into the DATA section of the follwoing script (replacing the example that is already there)
- run the script and redirect the output into a file called output.csv
- 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.
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|