⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 extract.pl

📁 GStreamer是一个开源的多媒体框架库。利用它
💻 PL
字号:
#!/usr/bin/perl# extract code fragments from xml program listings# first argument: source code file to find# second argument: xml files to extract code from# main# decodes xml by translating &amp; &lt; &gt; back to what they should be# and also ignore# <![CDATA[ and ]]> and <!-- and -->subxml_decode ($){  my $input = shift;  $input =~ s/\&amp;/&/g;  $input =~ s/&lt;/</g;  $input =~ s/&gt;/>/g;  if ($input =~ /<!\[CDATA\[/) { $input = ""; }  if ($input =~ /]]>/) { $input = ""; }  if ($input =~ /<!--/) { $input = ""; }  if ($input =~ /-->/) { $input = ""; }  #print "Returning line $input";  return $input;}# mainmy $output = shift @ARGV;$found = 0;%blocks = ();foreach $file (@ARGV){  open FILE, $file or die "Cannot open file $file";  while ($line = <FILE>)  {    if ($line =~ /<!-- example-begin $output (.*?)-->/)    {      $found = 1;      $block_id = $1;      $block = "\n/*** block $block_id from $file ***/\n";      print "Extracting $output block $block_id from $file\n";      while ($line = <FILE>)      {        if ($line =~ /<!-- example-end $output (.*?)-->/)        {          last;        }        $block .= xml_decode ($line);      }      $blocks{$block_id} = $block;    }  }}if (!$found){  print "Could not find $output example !\n";  exit(1);}# now output all the blocks in the right orderopen OUTPUT, ">$output";@block_ids = keys %blocks;foreach $block_id (sort @block_ids){  print "Writing $output block $block_id\n";  print OUTPUT $blocks{$block_id};}close OUTPUT;

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -