|
ru.perl- RU.PERL ---------------------------------------------------------------------- From : Vostricov Evgeny 2:5025/34.95 22 May 2010 13:20:00 To : All Subject : Lama book -------------------------------------------------------------------------------- Hачал недавно Perl изучать. Скачал сабж. Hо там криво отсканили. Посему сижу и вместе с прочтением этой замечательной книги:) попутно корректирую текст и примеры. Так вот назрел вопрос, а вернее 2. 1. Где взять нормальную книгу, чтобы хотя бы примеры были нормальные, можно на англицком. (в факе с двух адресов не качается:( 2. Есть там один пример. см. ниже. По идее в процедуре init_words() слова должны заноситься в хеш %words. Hо при проверке оказывается, что там пусто. Смутно подозреваю что дело в области видимости переменных... Где копать? Памажите хто чем может чайнику. ====================Чтение списка слов из отдельного файла==================== #!/usr/bin/perl init_words() ; print "What is your name? " ; $name = <STDIN>; chomp ($name) ; if ($name =~ /^randal\b/i) { print "Hello, Randal! How good of you to be here!\n" ; } else { print "Hello, $name! \n" ; print "What is the secret word? " ; $guess = <STDIN> ; chomp ($guess) ; while (! good_word($name, $guess)) { print "Wrong, try again. What is the secret word? " ; $guess = <STDIN> ; chomp ($guess); } } sub init_words { open (WORDSLIST, "wordslist") || die "can't open wordslist" ; while (defined ($name = <WORDSLIST>)) { chomp ($name) ; $word = <WORDSLIST> ; chomp ($word) ; $words {$name} = $word; } close (WORDSLIST) || die "couldn't close wordlist: $!" ; } sub good_word { my ($somename,$someguess) = @_ ; $somename =~ s/\W.*// ; $somename =~ tr/A-Z/a-z/ ; if ($somename eq "randal") { return 1 ; } elsif (($words{$somename} || "groucho") eq $someguess) { return 1 ; } else { return 0 ; } } ============================================================================ Востриков Евгений. --- TM-Ed 1.14+ * Origin: Only Good Die Young... (2:5025/34.95) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.perl/3395392900f1.html, оценка из 5, голосов 10
|