On Thu, 2002-03-28 at 10:50, Nikola Janceski wrote: > There in lies your problem.. you are not passing to the subroutine > correctly. > > try declaring your sub like so: > sub extract_data (\@\@\@){ > but if you do this don't call extract_data with & > use > extract_data(@datum, @seminare, @staedte); > > or pass the ref of the arrays: > extract_data(\@datum, \@seminare, \@staedte);
Passing as refs appears to be the preferred method. Subroutine prototypes are flaky and don't work properly with OO based Perl (prototypes can only handle stuff at compile time, while OO method calls happen at runtime). > > > > -----Original Message----- > > From: [EMAIL PROTECTED] > > [mailto:[EMAIL PROTECTED]] > > Sent: Thursday, March 28, 2002 10:39 AM > > To: Chas Owens > > Cc: [EMAIL PROTECTED] > > Subject: Re: && > > > > > > Hi Chas, > > > > > > thanks for your reply. > > The code was the simplified code of a subroutine (below). The Data > > originates from a Webformula and is passed on to the Subroutine like > > > > snippet > > &extract_data(@datum, @seminare, @staedte); > > .. > > .. > > .. > > > > sub extract_data { > > my $dates = shift; > > my $themes = shift; > > my $cities = shift; > > my @dates = split /\s+/, "$dates"; > > my @themes = split /\s+/, "$themes"; > > my @cities = split /\s+/, "$cities"; > > if(@dates && !@themes && !@cities) { > > my $date_count = @dates; > > if($date_count > 1) { > > $sth_between = $dbh->prepare( qq{SELECT * FROM termine > > WHERE beginn BETWEEN ? and ?}); > > $sth_between->execute($dates[0],$dates[1]); > > my $result = $sth_between->fetchrow_hashref(); > > if($result){ > > print $form->p("$result->{beginn}"); > > #print out rest of fields > > } > > } > > else { > > $sth_exact = $dbh->prepare(qq {SELECT * FROM > > termine WHERE > > beginn < ? ORDER BY beginn ASC}); > > $sth_exact->execute($dates[0]); > > my $result = $sth_exact->fetchrow_hashref(); > > if($result){ > > while($result){ > > print $form->p("$result->{beginn}"); > > #print out rest of fields > > } > > } > > else{ > > print $form->p("Tut mir leid nichts gefunden"); > > } > > } > > } > > #here should be all the other if else loop seven in total > > each printing > > #out search results depending on which array or which combination of > > #arrays contains data > > > > > > } > > Marcus > > > > > > > > -- > > To unsubscribe, e-mail: [EMAIL PROTECTED] > > For additional commands, e-mail: [EMAIL PROTECTED] > > > > ---------------------------------------------------------------------------- > -------------------- > The views and opinions expressed in this email message are the sender's > own, and do not necessarily represent the views and opinions of Summit > Systems Inc. > > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- Today is Boomtime the 14th day of Discord in the YOLD 3168 Umlaut Zebra über alles! Missile Address: 33:48:3.521N 84:23:34.786W -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]