Yes, you've made an error. use { statement } : { statement }

$title =~ /<title>(.*)<\/title>/i ? {$title = $1} : {$title = $content};
# So you get what you want.

You may do this as bared procedure calling in Javasciprt, but in perl, 
You have to quote them. Otherwise, this statement will only return
a true value. ( But return to where, I dont know =))

Rgds, 
Connie


  ----- Original Message ----- 
  From: John Pitchko 
  To: [EMAIL PROTECTED] ; [EMAIL PROTECTED] 
  Sent: Tuesday, July 09, 2002 1:16 AM
  Subject: Re: Ternary Regex Evaluation


  Yes that would work, but I was really curious as to why the ternary operation does 
not work. In fact, none of my other ternary operations seem to work. Is there 
something wrong with my syntax?

  Thanks,


  John Pitchko
  Data Services
  Saskatchewan Government Insurance

  >>> "Connie Chan" <[EMAIL PROTECTED]> 07/08/02 11:12am >>>
  Sorry, I am poor in English, but is this what you want ?

  $title = $content;
  while (<FH>)
  {   chomp;
       $title = $1 if ( /<title>(.+)<\/title>/i );
  }   print $title;

  Rgds,
  Connie




  ----- Original Message -----
  From: "John Pitchko" <[EMAIL PROTECTED]>
  To: <[EMAIL PROTECTED]>
  Sent: Tuesday, July 09, 2002 12:57 AM
  Subject: Ternary Regex Evaluation


  Hello,

  I am trying to do some pattern matching in a ternary evaluation, but it does
  not seem to work. If I place the regex into a structured if statement, it
  evaluates fine, but not in a ternary evaluation. Here is what I have so far.

  my $title;
  ..
  ..
  ..
  open FH, HTML_HOME . $directory . $content or die "Cannot open file : $!";
  while (<FH>)
  {
      chomp;
      (m/<title>(.*)<\/title>/i) ? $title = $1 : $title = $content;
  }
  print $title;

  Does anyone have any suggestions?

  TIA

  John Pitchko
  Data Services
  Saskatchewan Government Insurance



Reply via email to