• 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);
  • 相关阅读:
    Spring5.0源码导入IDEA(一)
    适配器模式
    3.6常见查询示例
    3.5在批处理模式下使用mysql
    3.4获取有关数据库和表的信息
    3.3.4.9使用多个表
    3.3.4.8计数行
    3.3.4.7模式匹配
    3.3.4.6使用NULL值
    3.3.4.5日期计算
  • 原文地址:https://www.cnblogs.com/dtj007/p/5113644.html
Copyright © 2020-2023  润新知