我想从 tcp 流文件中提取除 http 标头之外的内容,内容如下所示,当遇到两个 ^M 时,http 标头结束
HTTP/1.1 200 OK^M
Last-Modified: Sat, 20 Mar 2010 09:43:12 GMT^M
Content-Type: video/x-flv^M
Date: Wed, 24 Oct 2012 14:34:13 GMT^M
Expires: Wed, 24 Oct 2012 14:34:13 GMT^M
Cache-Control: private, max-age=22124^M
Accept-Ranges: bytes^M
Content-Length: 29833281^M
Connection: close^M
X-Content-Type-Options: nosniff^M
Server: gvs 1.0^M
^M
FLV^A^E^@^@^@ ^@^@^@^@^R^@^CK^@^@^@^@^@^@^@^B^@
onMetaData^H^@^@^@^O^@^Hduration^@@i<97>
=p£×^@ starttime^@^@^@^@^@^@^@^@^@^@^Mtotalduration^@@i<97>
我的提取代码如下,我运行:extract.pl < tcp.flow 但似乎循环是无止境的,代码有什么问题?谢谢!
#!/usr/bin/perl
$start=0;
$data="";
while(<STDIN>)
{
if ( $start eq 0 && $_ =~ /^\r\n/) { $start = 1; }
elsif ( $start eq 1 ) { $data = $data . $_; }
}
open(FH, ">sample.flv");
print FH $data;
close(FH);