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