• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 366
  • Last Modified:

PERL Question -- i need a command line with logic.

for those not familiar with securities indetifiers a sedol is 7 characters in lenght and a cusip is 9.

i have a perl script that inputs data into a sql table. that logic that i need is like so:

sql_sec_table = if the secuirty type starts with 'fs' and the lenght of the cusip is lessthan 9 then put this value both into the sedol and cusip fields else just cusip.

maybe for securities that start with 'fs' we can copy the value over. i don't know if perl has a copy command.
0
tomasdlv
Asked:
tomasdlv
  • 2
1 Solution
 
Adam314Commented:
I'm not clear on what you need.  Is this what you need?
my $security_type = 'fsstuff';
my $cusip = 'abcdefghi';
 
if( ($security_type =~ /^fs/) and (length($cusip) < 9) ) {
    $sql = "INSERT INTO table (sedol, cusip) VALUES (?, ?)";
    $dbh->do($sql, $cusip, $cusip);
}
else {
    $sql = "INSERT INTO table (cusip) VALUES (?)";
    $dbh->do($sql, $cusip);
}

Open in new window

0
 
tomasdlvAuthor Commented:
currently i have something like this:

CS_IMP_SECURITY.CUSIP.value = ( security.type =~ /^fs/ && length( security.cusip ) < 9 ) ? security.cusip : ( length( security.cusip ) <= 9 ) ? security.cusip : ''

but this does not seems to be putting the value both into the cusip and sedol field in my sql table.
0
 
Adam314Commented:
Is that a line from a perl program?  It doesn't look like it..  Can you post more of your perl program?
0

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now