• perl学习笔记


    这篇博客记录一些我学习perl时的一些笔记,持续更新:

     1.perl连接数据库的两种方式

    #!/usr/bin/perl
    use POSIX qw(strftime);
    use Encode;
    use URI::Escape;
    use DBI;
    my $db = DBI->connect("DBI:mysql:database=mysql;host=localhost", "root", "123456", {'RaiseError' => 1});
    $sql="select *  from table";
    my $rs = $db -> prepare($sql);
                    $rs -> execute;
               while($row= $rs->fetchrow_hashref()){
               $s=$row->{'status'};          
    }
    #!/usr/bin/perl
    
    
    use Mysql;
    use POSIX qw(strftime);
    use Encode;
    use URI::Escape;
    $db=Mysql->connect("localhost","mysql","root","123456") or die("connect fail!!");
    $query = "select * from table ";
    
            if($result->numrows==0){
                    sleep(6);
                    next;
            }
        while(%row=$result->fetchhash){
              $id = $row{"id"};
        }    

     2.perl遍历二维hash

    方法一:

    $hash{“data”}{“data1”} = "二维hash";
    
    foreach my $k (keys %hash) {
      foreach my $k1 (keys %{$hash{$k}}) {
    
      }
    }
    

     方法二:

    foreach my $key1 (sort keys %hash) #首先对key1进行排序
    {    
         foreach my $key2 (sort {$hash{$key1}->{$b}<=>$hash{$key1}->{a}} keys %{$hash{$key1}}) #对value值按照数字大小进行逆序排序
    #    foreach my $key2 (sort {$a<=>$b} keys %{$hash{$key1}})   #对key2按照数字大小进行排序
        {
            print $key1."t".$key2."t".$hash{$key1}->{$key2}."n";
        }

     3.perl读取传进来的文件内容

    #!/usr/bin/perl
    use POSIX qw(strftime);
    use Encode;
    use URI::Escape;
    
    $file=$ARGV[0];#获取第一个输入数据
    open( FH, $file );#打开文件
    #open( FH1,">", "data"); 写入文件内容
    foreach $line ( <FH> ){
           chomp($line);#去除空格
            @arr=split(/\t/,$line);#按\t截取
            print  $arr[0].'\t'.$arr[1];
            #print FH1  $arr[0].'\t'.$arr[1]; #写入文件
    }
    
    close(FH);#关闭文件
    #close(FH1);
  • 相关阅读:
    Python pip 下载速度慢? Windows 设置 国内源,用阿里云国内镜像加速
    Go timer 是如何被调度的?
    Go sync.Pool 浅析
    一次错误使用 go-cache 导致出现的线上问题
    golang面向对象分析
    一文完全掌握 Go math/rand
    这一次,彻底搞懂 Go Cond
    面试题:让你捉摸不透的 Go reslice
    当 Go struct 遇上 Mutex
    这可能是最容易理解的 Go Mutex 源码剖析
  • 原文地址:https://www.cnblogs.com/dtj007/p/5113644.html
Copyright © 2020-2023  润新知