Hi,
I need another set of eyes to help look over the codes below. I have a
subroutine that check for a comma in $strA and do some regex replacement, if
there's no comma then return the values of the two arguments passed to it. The
IF in my sub worked but the Else part didn't return any thing when i have
records in my data set that doesn't have a comma in it. Records #(pid) 1,4,5
didn't returned anything (else statement); the rest did the text substitution
correctly(If statement). Thanks in advance for any suggestions.
example data set of $strA:
pid|PSC_L0
1|A
2|A,F,G,H
3|A1,a2
4|F
5|G
6|A,G
#search for comma and replace
sub replaceComma{
my ($strA)= shift;
my ($strLevel) = shift;
my $strPSC;
if($strA =~ m/,/){
$strPSC = ",(AND($strLevel:";
$strA =~ s/,/$strPSC/g;
$strA =~ s/,/)),/g;
$strPSC = "$strLevel:$strA)";
return $strPSC;
}
else {
$strPSC = "$strLevel:$strA)";
return $strPSC;
}
}#end sub replace
#Call sub replaceComma
#$PSC_L0 is read in from a text file, see sample above
if ($PSC_L0 =~ m/[^a-zA-Z0-9]/){
my $PSC_Level = 'PSC_L0';
my $strURL0 = &replaceComma($PSC_L0,$PSC_Level);
print OUT "$strURL0";
---------------------------------
Never miss a thing. Make Yahoo your homepage.