hi,
is guess_alphabet a predefined function in the following code?
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};
}
}
it was giving errors..
please help..
thanks
On 5/17/05, Aditi Gupta <[EMAIL PROTECTED]> wrote:
>
> 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>
> >
> >
>