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 Koushik wrote:
hi amrita,
use if($var1 =~ '\e') inplace of if(var1 eq '\e')
On 6/11/07, Amrita Roy <[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 : [EMAIL PROTECTED]
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [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"
-----------------------------------------------------------
--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/