关于Perl几个基本操作的Demo

来源:互联网 发布:mysql百度云 编辑:程序博客网 时间:2024/05/16 05:52

 一.输出到文件的Demo
#!F:/Program Files/Perl/bin/perl
use strict;
open(MYFILE,">>hhh.txt");
while(<STDIN>)
{
 $|=1;
 select MYFILE;
 $|=1;
 print MYFILE $_;
 $|=1;
 select STDOUT;
 print $_ ;
}
close(MYFILE);
 
        二.文件读入
# F:/Program Files/Perl/bin/perl
open FH,"hhh.txt" or die $!;
@array = <FH>;
close FH;
print @array;
 
        三处理文件名并提取子串Demo
# F:/Program Files/Perl/bin/perl -w
use strict;
my $OUTFILE_file_name = "result.txt";        # output file name
open  my $OUTFILE, '>>:raw', $OUTFILE_file_name
 or die  "$0 : failed to open  output file '$OUTFILE_file_name' : $!/n";
foreach my $INFILE_file_name (glob "dictionary.php_l1=English*.html"){
 my $begin = index($INFILE_file_name,"&word=") + 6;
 my $end = index($INFILE_file_name,"&Search");
 # print $begin,"/n";
 # print $end,"/n";
 print $OUTFILE substr($INFILE_file_name, $begin, $end - $begin);
 print $OUTFILE "/t";
 # print $INFILE_file_name,"/n";
}
close  $OUTFILE or warn "$0 : failed to close output file '$OUTFILE_file_name' : $!/n";
 
        四合并处理相同
# F:/Program Files/Perl/bin/perl -w
use strict;
use warnings;
use Encode;
use Data::Dumper;
use HTML::TreeBuilder;
my $OUTFILE_file_name = "result.txt";        # output file name
open  my $OUTFILE, '>>:raw', $OUTFILE_file_name
 or die  "$0 : failed to open  output file '$OUTFILE_file_name' : $!/n";
my @list = Encode->encodings(":all");
foreach my $INFILE_file_name (glob "dictionary.php_l1=English*.html"){
 open  my $INFILE, '<:raw:encoding(utf16)', $INFILE_file_name
  or die  "$0 : failed to open  input file '$INFILE_file_name' : $!/n";
  my $fileContents = ();
  my $i = 1;
 while(<$INFILE>){
  my $tree = new HTML::TreeBuilder;
  $tree->parse($_);
  foreach my $row ( $tree->find_by_tag_name("tr")) {
   foreach my $cell ($row->content_list) {
    if($i==16)
    {
     #####处理
     $fileContents = $fileContents.$cell->as_text;
    }
    $i++;
   }
  }
 }
 print $OUTFILE encode("utf16",$fileContents);
 close  $INFILE or warn "$0 : failed to close input file '$INFILE_file_name' : $!/n";
}
close  $OUTFILE or warn "$0 : failed to close output file '$OUTFILE_file_name' : $!/n";