Читайте также:
|
|
В соответствии с заданием написать и отладить программу, протестировав её на предложенном наборе файлов, имеющих одинаковую структуру имён: <группа><номер версии>_<номер подверсии>. Если это первая (начальная) подверсия, то её номер не ставится.
Шаблон программы можно взять следующим:
use File::Copy;
use File::stat;
opendir(DIR, "LabWorkFiles#6") || die($!);
@names = readdir(DIR);
splice(@names, 0, 2);
closedir(DIR);
chdir("LabWorkFiles#6");
$OutputValue = 0;
# You may WRITE CODE HERE
foreach $name (@names)
{
# You may WRITE CODE HERE
}
# You may WRITE CODE HERE
print($OutputValue);
Варианты заданий
Вариант 1
Создать папку с именем B внутри текущей папки. Переместить туда все файлы группы b, приписав к их именам в конце.bak. Вывести на экран общее число таких файлов.
Вариант 2
Создать папку с именем 1_8 на один уровень выше папки и интересующими нас файлами, скопировать туда файлы размером 1 или 8 байт. Вывести на экран число скопированных файлов.
Вариант 3
Скопировать основную папку в любое другое доступное для записи место (но чтобы скопированная папка сохранила то же имя) вместе со всеми файлами, кроме файлов второй подверсии. Приписать в начале имён скопированных файлов New_. Вывести на экран число нескопированных файлов.
Вариант 4
Добавить расширение.arj в конец имён файлов групп a и c, остальные файлы удалить. Вывести на экран число удалённых файлов.
Вариант 5
Создать папку с именем 2_3 рядом с папкой с нашими файлами, переместить туда все файлы версий со второй по третью. Вывести на экран число оставшихся файлов.
Вариант 6
Вывести на экран средний размер всех файлов, кроме файлов группы b, которые скопировать в любое другое доступное для записи место без создания отдельной папки для таких файлов.
Вариант 7
Переместить основную папку в любое другое доступное для записи место. Вывести на экран общий размер всех восьмибайтовых файлов.
Вариант 8
Разнести файлы по двум папкам с именами V#1 и OtherVs: в первую переместить все файлы первой версии, добавив к их именам в конце приписку _old, во вторую – остальные версии. Исходный каталог удалить. Вывести на экран число файлов в первой папке.
Вариант 9
Файлам первой подверсии проставить её номер. Файлы второй и последующих подверсий размером 2 или 4 байта удалить. Вывести на экран число удалённых файлов.
Вариант 10
Удалить файлы группы c первой подверсии, если их размер меньше 4 байт, в противном случае (если эти файлы размером от 4 байт и больше) – переместить в любое другое место. Вывести на экран суммарный размер удалённых файлов.
Контрольные вопросы
1. Для чего главным образом разрабатывался язык Perl?
2. В каких случаях целесообразно написание скриптов?
3. К какой группе языков относится Perl? Fortran? Назвать основное отличие между этими двумя группами языков, перечислить их достоинства и недостатки.
4. Каков синтаксис переменных в Perl?
5. Дать определение идентификатору. Какова связь между идентификатором и константой, между идентификатором и переменной?
6. Дать определение литералу. Какова связь между литералом и константой, между литералом и переменной?
7. Каков синтаксис массивов в Perl? Как узнать число его элементов?
8. Возможно ли в процессе выполнения программы увеличить размерность массива? А уменьшить?
9. Какие составные операторы цикла вы знаете?
10. Что такое регулярные выражения и для чего они служат?
11. Что такое метасимволы в выражениях? Приведите пример метасимволов в Perl.
12. Рассказать про один или несколько метасимволов в Perl подробно.
13. Каким образом осуществляется поиск в строке в Perl?
Дата добавления: 2015-08-27; просмотров: 32 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Функции Perl | | | Регулярные выражения |