Linux за българи: Форуми

Програмиране => Общ форум => Темата е започната от: Marto в Apr 02, 2002, 01:31



Титла: Press any key to cancel
Публикувано от: Marto в Apr 02, 2002, 01:31
Става дума за един скрипт на Perl. Искам да дава възможност за избиране на едно число от 1 до 10 да речем, но ако не искаш да избереш да натиснеш Enter и да продължи нататък. Тове е супер просто ... ама незнам как да направя проверка за това дали е натиснато Enter?
Ето пример:
#!/usr/bin/perl
# test.pl

use warnings;
use strict;

print "Please type number from 1 to 10 or press enter to skip: ";
    $p_num = <STDIN>;
    chomp $p_num;

    if ($p_num > 10 or $p_num < 1) {
   die "\nI said from 1 to 10\n";
    }

exit 0;

Точно това ми е въпроса ?  :p


Титла: Press any key to cancel
Публикувано от: dam в Apr 02, 2002, 09:20
Ами, chomp маха \n в края на $_, значи ако ($_ eq '';) просто е натиснал Enter. Може би би искал да проверяваш и дали е въвел само цифри (/^\d+$/) преди да правиш числово сравнение (<, == и >), иначе ще ти се скара, че се опитваш да правиш числово ставнение на нечислови данни ('dfd' > 1)