|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Ilya Anfimov 2:5020/400 27 Jan 2006 17:29:20 To : Љ®«п Ѓ®Є®ў Subject : Re: Фильтрация текста -------------------------------------------------------------------------------- 2006-01-27, Коля Боков <bokov@inbox.ru> пишет: > Привет ещё раз, > > Thu Jan 26 2006 19:48, Ilya Anfimov wrote to Коля Боков: > > IA> .... > IA> my %used; > IA> .... > IA> print $outh map $_."\n", > IA> grep !exists $used{$_} && ($used{$_}=1), > IA> grep m/^T_/, > IA> m/(\w+)/g; > > Я тут слегка изменил и хотел бы входной и выходной файлы скрипту в командной > строке передпать. Делаю так: > > 1 #!/usr/bin/perl -w > 2 > 3 use strict; > 4 > 5 &OpenFile(@ARGV); > 6 > 7 sub OpenFile { > 8 > 9 my %used; > 10 my ($in, $out) = @_; > 11 my ($inh, $outh); > 12 > 13 local $_; > 14 > 15 open $inh, "<", $in or die "Error opening `$in': $!\n"; > 16 open $outh, ">>", $out or die "Error opening `$out': $!\n"; > 17 > 18 while (<$inh>) { > 19 > 20 map $_."\n", > 21 grep !exists $used{$_} && ($used{$_}=1), > 22 grep m/^T_/, > 23 m/(\w+)/g; Успешно сделал map и не присвоил результат ничему (выкинул его). > 24 > 25 }; > 26 > 27 print $outh @_; Hапечатал в $outh параметры вызова функцыи. Вообще -- тебе надо было _одну_ строчку заменить. > 28 }; > 29 > 30 #&OpenFile('Z', 'DDD'); > > Вызываю так: > > user@home:> ./skript.pl IN OUT > > В конечном итоге создаётся файл OUT с содержанием: > > INOUT > >:-/ > > Где я ошибся? > > Спасибо за помощь! > --- ifmail v.2.15dev5.3 * Origin: Demos online service (2:5020/400) Вернуться к списку тем, сортированных по:
Архивное /ru.cgi.perl/19170c95fda80.html, оценка из 5, голосов 10
|