Forum Webscript.Ru

Программирование => Perl => Тема начата: pupok от 21 Декабря 2007, 10:24:21

Название: Помогите пожалуйста!
Отправлено: pupok от 21 Декабря 2007, 10:24:21
Нужно решить вот такие задачки по учебе чтобы догнать сокурсников а я много проболел и неуспеваю:(

Задание №1

Дан список элементы которого уникальные скаляры. Создать по нему хэш в котором ключи-элементы списка значения-позиции элементов в списке.

Задание №2

Подсчитать количество букв в строке. Одним регулярным выражением.

Задание №3

Создать массив хешей. Первичный ключ: фрукты. Вторичные ключи: любимые фрукты, нелюбимые фрукты, вкусные фрукты, невкусные фрукты. Вывести хешь на экран.

Задание №4

Организовать поиск по фамилиям следующем образом. Поиск происходит по всем файлам в текущей директории. Ищуться и выводяться на экран строчки из файла, в котором встречается последовательность символов заданная как параметр командной строки. Для каждого найденного совпадения также указывается в каком файле и в каком по счету строке оно получилось.

Задание №5

В HTML форме предусмотрите поля для ввода фамилий и результатов по прыжкам в длину для четырех спортсменов(т.е. всего 8) Пользователь вводит данные и после нажатия кнопки готово в perl скрипте сначала объединяются фамилии и результаты в один массив и далее выводится массив в отсортированном виде.

Заранее огромное спасибо!!!
можно тут или на почту mosfilms@mail.ru
Название: Помогите пожалуйста!
Отправлено: arto от 21 Декабря 2007, 11:13:15
50e
Название: Помогите пожалуйста!
Отправлено: commander от 21 Декабря 2007, 11:20:19
pupok
Задание №1
my @array = (1,2,3,4,5);
my %Hash;
map {
     $Hash{$_} = $array[$_];
} (0 .. $#array);

Задание №2
причем тут регексп?  :
my $string = "abcdefg";
print length $string;
но если хотите:

my $string = "abcdefg";

my $length=0;
map {$length++}($string =~/./g);
print $length;

Задание №3
блять, вот преподам надо за это руки отрезать!!!
какой в пезду "Первичный ключ" !!!??? Что за терминология?

долбоебизм:
use Data::Dumper;

my $data;

$data = [
         {futs=>"apple", futs_faworite=>1, futs_not_faworite=>0, futs_tasty=>1, futs_not_tasty=>0},
         {futs=>"orange", futs_faworite=>1, futs_not_faworite=>1, futs_tasty=>1, futs_not_tasty=>1},
        ];

print Dumper $data;
Название: Помогите пожалуйста!
Отправлено: commander от 21 Декабря 2007, 11:21:03
arto
я с похмелья люблю делать плохие дела.. )))
Название: Помогите пожалуйста!
Отправлено: commander от 21 Декабря 2007, 11:58:32
Задание 4.
find.pl
#!/usr/bin/perl -w
use strict;

chop(my $input = <>); #читаем данные из ввода и удаляем перенос строки...

$input = lc($input); # приводим данные к нижнему регистру, ибо искаль будем без учета регистра

opendir(DIR, "."); # открываем текущий каталог
my @dirs = readdir(DIR); # читаем в массив @dirs файлы этого каталога
closedir DIR;    # закрываем каталог

shift @dirs; # удаляем .
shift @dirs; # удаляем ..

#начинаем по порядку перебирать файлы в каталоге...
for my $file (@dirs){
    #не ищем в себе
    if ($file ne "find.pl"){

        open (FL, "<$file");  # открываем файл для чтения

        my @lines = readline FL;  # в массиы @lines считываем все строки текущего файла
        #начинаем по порядку перебирать строки
        for (0 .. $#lines) {

            $lines[$_] = lc($lines[$_]);  #приводим строку к нижнему регистру
            if ($lines[$_] =~m/$input/) {  # непосредственно поиск....

             print qq{
                   Input text find in:
                   File: $file
                   Line number: $_
                   Line:
                   $lines[$_]
                   };
            }

        }
        close (FL);      # закрываем файл
    }


}
Название: Помогите пожалуйста!
Отправлено: commander от 21 Декабря 2007, 12:11:38
задание 5:

script.pl

#!/usr/bin/perl -w
use strict;
use CGI qw(standard);

my @sportmans;

map {
   push @sportmans, param("second_name_$_") . "_" . param("result_$_");
} (1..4);

@sportmans = sort @sportmans;

print "Content-type: text/html\\n\\n";
print join ("
", @sportmans);

html:






        form




Спортсмен 1 : результат 1:

Спортсмен 2 : результат 2:

Спортсмен 3 : результат 3:

Спортсмен 4 : результат 4:





Название: Помогите пожалуйста!
Отправлено: pupok от 21 Декабря 2007, 16:40:23
огромное спасибо:)
Название: Помогите пожалуйста!
Отправлено: commander от 21 Декабря 2007, 17:09:50
pupok
))) балбес ты.. )))

я тебе скорее навредил..
Название: Помогите пожалуйста!
Отправлено: hanslinger от 21 Декабря 2007, 17:41:56
Цитировать
блять, вот преподам надо за это руки отрезать!!!
какой в пезду "Первичный ключ" !!!??? Что за терминология?

это еще ничего
тут где-то про js проскакивала тема, там препод вообще какие-то странные вещи спрашивал
Название: Помогите пожалуйста!
Отправлено: commander от 21 Декабря 2007, 17:50:58
hanslinger
пидарасов наберут в вузы блять! а потом от туда какие выходят .. что хоть в осадок выподай...
Название: Помогите пожалуйста!
Отправлено: hanslinger от 21 Декабря 2007, 18:23:25
commander
Смотри глубже.
Зарплата преподская маленькая, поэтому никто работать не идет — остаются только старые. Человеку в возрасте тяжелее осваивать какие-то новые вещи; но в свете того, что технологии развиваются бешеными темпами, приходится. Как могут — так и работают.
Название: Помогите пожалуйста!
Отправлено: pupok от 22 Декабря 2007, 13:13:46
Цитировать
pupok
))) балбес ты.. )))

я тебе скорее навредил..


навредил? имеешь ввиду что я не сам это делал?:)
Название: Помогите пожалуйста!
Отправлено: commander от 23 Декабря 2007, 18:26:50
pupok
типа того...