my @array1;
my $data = "[0|0|{A=145,B=2,C=12,D=18}|!][0|0|{A=167,B=2,C=67,D=1
+7}|.1iit][196|0|{A=244,B=6,C=67,D=12}|10:48AM][204|0|{A=9,B=201,C=61,
+D=11}|Calculator][66|0|{A=145,B=450,C=49,D=14}|phone]0|0|{A=145,B=2,C
+=12,D=18}|!0|0|{A=167,B=2,C=67,D=17}|.1iit196|0|{A=244,B=6,C=67,D=12}
+|10:48AM204|0|{A=9,B=201,C=61,D=11}|Calculator66|0|{A=145,B=450,C=49,
+D=14}|phone";
my $high = 0;
my @values = split(/\[([^\]]+)\]/,$data) ;
print "Values is @values \n";
foreach(@values)
{
#I want the value that preceeds the first occurence of | in ea
+ch array element, i.e 0,0,196,204,etc..
my ($conf,$rest)= split(/\|/,$_) ;
print "Conf is $conf \n";
print "Rest is $rest \n";
push(@array1, $conf );
push (@array2, $rest);
print "Array 1 is @array1 \n";
print "Array 2 is @array2 \n";
}
$conf = highest(@array1);
my $i=0;
#I want the index value of the element that contains the highest conf
+value..in this case 204
for (@myarray1) { last if $conf eq $_; $i++; };
print "$conf=$i\n";
#I want to print the rest of the string that was split in the sam
+e index position,
$rest = @array2[$i];
print "Rest is $rest \n";
# To get the higest conf value
sub highest {
my @data = @_;
my $high = 0;
for(@data) {
$high = $_ if $_ > $high;
}
$high;
}
I tried this..but I'm not getting anywhere close to the output that I need...
THanks,
Perllace |