The reason this works is that when you read from STDIN, you are getting the
newline from when the user of the program hits return. Using '=~' is
implying a 'match', which will match the string/regexp supplied within the
variable's value. 'eq' means the two strings have to be exactly equal to
each other, but your variable actually has the value of '\e\n'. You should
get into the habit of 'chomp'ing values as soon as you read them in so you
don't have that problem.
Paul
7:34pm, Susheel Kou****k wrote:
> hi amrita,
>
> use if($var1 =~ '\e') inplace of if(var1 eq '\e')
>
>
>
> On 6/11/07, Amrita Roy <amritaroy2005@[EMAIL PROTECTED]
> wrote:
>> Hello,
>> Actually i m running a process using perl script.so i want to do that
if i
>> press ESC from the keyboard it will come out of the loop n comes out of
the
>> function.I am trying to read the esc character using "\e"but it is not
>> responding.I have even tried with hex (1B) value of esc charcter but
still
>> it was not respoding .
>> Here is code snippet:
>>
>> #!/C:/Perl/bin -w
>> my $var1;
>>
>> $var1 = <STDIN>;
>> if($var1 eq '\e')
>> {
>> print "Hello \n";
>> }
>>
>> else
>> {
>> print "World \n";
>> }
>>
>>
>> --
>> Amrita Roy
>> Rebaca Technology Pvt Ltd.
>> Sector 5, Saltlake,
>> Kolkata
>> Email : amrita@[EMAIL PROTECTED]
>>
>
> --
> To unsubscribe, e-mail: beginners-cgi-unsubscribe@[EMAIL PROTECTED]
> For additional commands, e-mail: beginners-cgi-help@[EMAIL PROTECTED]
> http://learn.perl.org/
>
>
>
-----------------------------------------------------------
If you live in a small town /You might meet a dozen or two/
Young alien types /Who step out /And dare to declare/
"We're through being cool." -- Devo, "Through Being Cool"
-----------------------------------------------------------


|