Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Perl: Общие вопросы > Проверить синтаксис без учета загружаемых модулей |
Автор: Logo 12.7.2012, 02:23 |
Можно ли проверить правильность синтаксиса perl кода без учета загружаемых модулей, т.е. что бы use {не на найденный модуль} не приводило к ошибке, так же не приводил к ошибке вызов не определенных процедур, очень желательно включая прототип (&). Добавлено @ 02:25 P.S. непреднамеренно форматнул жесткий диск, теперь восстанавливаю файлы из сектора. Надо определить что является perl кодом, а что нет. |
Автор: Грань 12.7.2012, 06:10 |
Perl скрипты имеют расширение: pl , pm, cgi .От этого нужно отталкиваться ,а заглядывать в код думаю бесполезно. |
Автор: arto 12.7.2012, 06:57 |
на расширения опираться сложно, у меня, например, есть и .fpl, и .epl. можно попробовать определять по шебангу, остальное по специфике кода (use .+?;), и совсем остальное визуально. |
Автор: Logo 12.7.2012, 14:44 | ||
Таблица файлов слетела, диск отформатирован. Я не очень разбираюсь в устройстве файловой системы, но во всяком случае имена файлов мне ни как удается вытащить. Все что есть это дисковый сектор с данными. Есть утилита photorec, но она не очень разбирается в формате perl кода, восстанавливает лишь некоторые файлы, многие частично. Начало файла еще можно определить по package .*MYPACKAGE.*, а как определить конец? Или только в ручную возможно? |
Автор: Pfailed 12.7.2012, 17:41 |
Совет на будущее. Используйте систему контроля версий. |
Автор: Logo 12.7.2012, 18:50 |
Pfailed, система управления версиями, здесь по моему, ни как не поможет, разве что если репозиторий находится на другом носителе. Бекапы это да... |
Автор: Сумасшедший 13.7.2012, 09:03 |
В *n?x проще воспользоваться командой file. |
Автор: Logo 13.7.2012, 19:47 |
Сумасшедший, не поможет. file только тип файла показывает, с куском байтов не работает. |
Автор: Logo 16.7.2012, 18:05 |
Сделал через поиск по регулярному выражению + сохранение куска кода от и до символа-байта "\0", где совпало регулярное выражение. В некоторых файлах затем вручную удалить мусор через редактор. Но большинство даже вырезалось аккурат "от" и "до". |