>Помогите пожалуйста, с такой задачкой. >Имеется файл вида: > >a cappella,abbandono,accrescendo,affettuoso,agilmente >a la mode,advanced,avant-garde,chic,contemporary,dashing >a priori,a fortiori,a posteriori,analytic,back,backward > >Нужен скрипт (или пнуть куда копать) отсекающий все слова после третьего в >каждой строке, включая запятую. Вот вам быстренький и грязненький способ :-)
#!/usr/bin/perl -wuse strict; open (F, $ARGV[0]); # имя файла передаем скрипту как аргумент my @array; # объявляем массив # Начинаем считывать построчно содержимое файла while (<F>) { @array = split(",",$_); # записываем элементы строки в массив, используя запятые как разделители print qq($_); # выводим на печать исходную строку print qq($array[0] $array[1] $array[2]\n); # а теперь печатаем только три первых элемента массива } close F; # закрываем файл А вот результат работы этого скрипта:
> ./words.pl words.txt a cappella,abbandono,accrescendo,affettuoso,agilmente a cappella abbandono accrescendo a la mode,advanced,avant-garde,chic,contemporary,dashing a la mode advanced avant-garde a priori,a fortiori,a posteriori,analytic,back,backward a priori a fortiori a posteriori
|