open(F, "+< $infile"); while (sysread F, $_, 32768) { $_ .= ; next unless /\Q$to_find\E/; # quickskip while(/^([^\n,]*?\Q$to_find\E[^\n]*)/gm) { ($filename, $cms, $path, $size, $day, $time) = split /,/, $1; $href = "file:\\\\netd\\data".$path."\\$filename"; $href =~ s/\s/%20/g; $table .= "$path\\$filename$size$day $tim +e"; } } close(F);