Консультация # 177709: Добрый день, уважаемые эксперты! Дан текстовый файл, содержащий 10 строк следующего формата: Фамилия Факультет fizika himia matem inform Например, Pupkin МТФ 4 5 3 2 Нужно написать скрипт на языке Perl со следующими требованиями ./script - вывод строк из файла ./script Pupkin - вывод факультета ./script Pupkin himia ...
Консультация # 71939: Никак не пойму, как обрабатывать символы в строке.
Предположим есть:
$str = "hello, perl";
Как в цикле пробежатся по всем символам и сделать с ними что-нибудь ?
Я естествено попробовал тыкнуть пальцем в небо и написал так: $str[2] - естественно perl лишь ответил молчанием, не Си все таки.
Конкретно решаю такую задачу. ...Консультация # 31777: Вопрос к экспертам - есть ли в Perl функции, читающие MP3 - теги? Мне нужно написать скрипт, читающий MP3 файлы и сливающий описание в базу....
Дан текстовый файл, содержащий 10 строк следующего формата: Фамилия Факультет fizika himia matem inform Например, Pupkin МТФ 4 5 3 2
Нужно написать скрипт на языке Perl со следующими требованиями ./script - вывод строк из файла ./script Pupkin - вывод факультета ./script Pupkin himia - вывод оценки по предмету ./script Pupkin himia 4 - записывает заданную оценку "4" вместо имеющейся у Pupkin
Здравствуйте, lamed. вот набросал за полчаса. Не рекомендую называть что-то внутри файла русскими буквами - будет каша на экране. Для кириллицы используйте модуль Encode. исходные данные я брал из файла test.txt (лежал рядом со скриптом). в баше я не силен, да и надо оно вам? зная перл, баш - просто лишний.
Приложение:
Консультировал: Диверсант
Дата отправки: 08.04.2010, 23:10
Никак не пойму, как обрабатывать символы в строке.
Предположим есть:
$str = "hello, perl";
Как в цикле пробежатся по всем символам и сделать с ними что-нибудь ?
Я естествено попробовал тыкнуть пальцем в небо и написал так: $str[2] - естественно perl лишь ответил молчанием, не Си все таки.
Конкретно решаю такую задачу. Есть текст, в нем данные разбиты в группы по 3 байта, первые два байты мне нужно обработать особым образом, 3-ий вообще не нужен.
Собственно это все мелочи, которые решаются ручками в течении нескольких минут, я не пойму как обращаться к отдельным символам в строке.
Здравствуйте, Torsten!
Обрабатывать строку посимвольно можно обработав ее ф-цией split с пустым шаблоном. Т.е. @str = split(//,$str); вернет вам список из отдельных символов строки, а дальше уже обрабатывайте список как вам нужно. Но это не самый хороший вариант решения задачи.
Если приведете пример текста (хотя бы одну строку) который надо обработать, то тогда можно найти более "красивый" вариант решения.
Консультировал: -OC- (Специалист)
Дата отправки: 21.01.2007, 16:35
Помимо уже упомянутого в ответах split можно использовать unpack (и pack для обратной операции) Примерно как в приложении, хотя с описанием формата я могу и ошибиться - нечасто его использую
Ещё можно использовать s//
Приложение:
Консультировал: Хватов Сергей (Академик)
Дата отправки: 21.01.2007, 16:50
Здравствуйте, Torsten!
Одна из самых сильных сторон Perl это регулярные выражения
Смотри приложение и поставляемую с перлом справку - там всё разжовано
Приложение:
Консультировал: Duke
Дата отправки: 22.01.2007, 08:38
Команда портала RFPRO.RU благодарит Вас за то, что Вы пользуетесь нашими услугами. Вы только что прочли очередной выпуск рассылки. Мы старались.
Пожалуйста, оцените его. Если совет помог Вам, если Вам понравился ответ, Вы можете поблагодарить автора -
для этого в каждом ответе есть специальные ссылки. Вы можете оставить отзыв о работе портале. Нам очень важно знать Ваше мнение.
Вы можете поближе познакомиться с жизнью портала, посетив наш форум, почитав журнал,
который издают наши эксперты. Если у Вас есть желание помочь людям, поделиться своими знаниями, Вы можете зарегистрироваться экспертом.
Заходите - у нас интересно!