hey Xavier,
thanks a lot.. i'm sure that's going to help..
if i have any problem applying the regex then i'll come back to the list:-)
thanks again
 aditi

 On 5/17/05, Xavier Noria <[EMAIL PROTECTED]> wrote: 
> 
> On May 14, 2005, at 19:47, Aditi Gupta wrote:
> 
> > there are actuaaly no fields specified.. i have strings in each row
> > (with intermittent hyphens) and i've to find which alphabet occurs
> > how many times in each column and then perform reg exp operations..
> > but i've never dealt with such columnwise analysis before and
> > haven't seen in books also so far.. which documentationshould i
> > refer for such problem..
> 
> From that description my guess is that we have:
> 
> my @cols = split /\s*-\s*/, $row;
> 
> If an "alphabet" can have a stringfied representation, a code for
> example, and if given a $col we imagine for the sake of this followup
> a function that guesses $col's alphabet code:
> 
> my $code = guess_alphabet($col);
> 
> then a possible approach would be:
> 
> my @counters = ();
> while (my $row = <$fh>) {
> my @cols = split /\s*-\s*/, $row;
> for (my $i = 0; $i < @cols; ++$i) {
> my $code = guess_alphabet($cols[$i]);
> ++$counters[$i]{$code};
> }
> }
> 
> That's to be taken as pseudocode (I wrote it just inline), and
> needing adjusts taking into account details of the actual problem to
> solve.
> 
> The main idea is that we have an array of counters called @counters.
> The ith element of @counters contains counters per alphabet
> corresponding to the ith column in the input file.
> 
> To distinguish counters per alphabet at column $i, we store a hashref
> at $counters[$i], whose keys are alphabet codes, and whose values are
> counters per alphabet. That is, $counters[$i]{$code} gives how many
> times alphabet with code $code has been seen in the $ith column.
> Alphabets not seen at column $i have no entry, but $counters[$i]
> {$code} would evaluate to undef without problem.
> 
> Does that help? Can you apply regexps as you need with that structure?
> 
> -- fxn
> 
> PS: Notice that we don't explicity create the hashref to be stored at
> $counters[$i], we directly write $counters[$i]{$code}. That's thanks
> to a nice feature of Perl called "autovivification" that creates
> structures on the fly for you.
> 
> --
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> <http://learn.perl.org/> <http://learn.perl.org/first-response>
> 
>

Reply via email to