>Надеюсь это шутка такая? 8))))
>
>#!/usr/bin/perl
>open(F,shift @ARGV);
>for $l (<F>) { for (@ARGV) { print $l and last if ($l =~ $_) } };
>
>Это короче и без grep {} / map {}. Тю... а вы скорость своего чуда видели?? :))
берем http://lib.ru/BULGAKOW/master97_engl.txt
размножаем (например for i in `seq 10`; do cat master97_engl.txt >> multi.txt ; done )
Смотрим:
$ time ./test.pl multi.txt Linux FreeBSD Solaris Cisco Opennet Bash pronounced Compilation Robbins Gentoo Portability SPARC OpenBSD Hurd OpenSolaris Linux FreeBSD Solaris Cisco Opennet Bash pronounced Compilation Robbins Gentoo Portability SPARC OpenBSD Hurd OpenSolaris Linux FreeBSD Solaris Cisco Opennet Bash pronounced Compilation Robbins Gentoo Portability SPARC OpenBSD Hurd OpenSolaris Linux FreeBSD Solaris Cisco Opennet Bash pronounced Compilation Robbins Gentoo Portability SPARC OpenBSD Hurd OpenSolaris > /dev/null
real 0m30.982s
user 0m30.659s
sys 0m0.116s
~/code$ time ./test.py multi.txt Linux FreeBSD Solaris Cisco Opennet Bash pronounced Compilation Robbins Gentoo Portability SPARC OpenBSD Hurd OpenSolaris Linux FreeBSD Solaris Cisco Opennet Bash pronounced Compilation Robbins Gentoo Portability SPARC OpenBSD Hurd OpenSolaris Linux FreeBSD Solaris Cisco Opennet Bash pronounced Compilation Robbins Gentoo Portability SPARC OpenBSD Hurd OpenSolaris Linux FreeBSD Solaris Cisco Opennet Bash pronounced Compilation Robbins Gentoo Portability SPARC OpenBSD Hurd OpenSolaris > /dev/null
real 0m19.833s
user 0m19.653s
sys 0m0.047s
Так что пилите, они золотые.