zoukankan      html  css  js  c++  java
  • perl 语言学习总结

    1.#!/usr/bin/perl -w  内建警告信息,Perl发出警告
    2.字符串 . 连接符
    3.重复次数 "fred" x 3
    4.字符串与数字之间的自动转换
    5.$变量    赋值 $fred =17;   +  += *=  .=  not and or xor
    6.print 输出
    7.比较字符  数值 == != < > <= >=
           字符串 eq ne lt gt le ge
    8. if($i < 0){}else{}  while(){}
    9.chomp  去除字符串尾的一个换行符
    10.数组 未初始化的数组值为undef
    $#i表示最后一个元素的索引值   支持负数索引 最后一个为-1
    11.qw 简写,省掉列表中的  , qw(1 2 3 412.@ all of the  数组的全部  
    @rocks=qw/1 2 3/
    @tiny = ( );
    @gint = 1..1e5
    @ee = ‘qwwewe’
    13.pop和push  操作数组的最后一个元素  pop @array  push@array,8shift 和unshift  操作第一个元素
    14.foreach $rock(@rock){}
    15.$_老地方
    16.reverse@fredsort@rock17,。强制上下文 scalar @rock
    18.@lines = <STDIN>;
    19.子程序 sub关键字  
    eg:定义 sub fun{
            $n+=1;
            print "hello";
            &n;//最后一次运算结果为返回值    
        }
    调用  &fun;  可以省略&print 语句的返回值为1,表示输出成功
    函数参数:
    $n = &max(10,15);
    sub max{
        if($_[0]>$_[1]){
            $_[0];
        }else{
            $_[1];
        }
    }
    
    20.my 定义私有词法变量    @_全局变量
    my 不使用括号时,只用来声明单个词法变量
    sub max{
        my($m,$n);
        ($m,$n) = @_;//将保存在@_中的参数赋值给具体变量
        if($m>$n){$m} else{$n}
    }
    
    if(@_ != 2)  元素个数小于2   ???
    
    
    适应任意参数的max程序
    sub max{
        my($myx_so_far) = shift @_;
        foreach(@_){
            if($_ >$max_so_far){
                $max_so_far = $_;
            }
        }
        $max_so_far;
    }
    
    对于空参数返回undef
    所有新变量一开始都是空的,标量被设为undef,数组被设为空列表
    21.use strict 编译命令   让Perl更严格一些
    要求一定要用my来声明每个新的变量
    22. return 子程序立即返回
    23. state  静态变量
    24.输入输出
    while(defined($line=<STDIN>)){
        print "I saw $line";
    }
    <>钻石操作 从用户指定的位置读取。
    while(<>){
        chomp;
        print "$_";
    }
    25.@ARGV 命令行参数
    26.copy("a","b") 将a拷贝成b
    27.truncate (filename, length);
        将文件的长度减少到length字节。如果文件长度已经小于length,则不做任何事
    28.seek (file,dis,relative_to) 文件中移动  relative(0 开头,1 当前,2末尾)
    29.print 文件写入字符串  
    30.unlink (filelist) 删除文件
    31.open 
        1:读:open(文件句柄,"<文件名")/open(文件句柄,"文件名"),前提文件必须已经存在,否则会返回0,出错信息在$!中。
        2:写:open(文件句柄,">文件名"),文件如果不存在,那么创建之,如果存在,内容被清空,长度截为0,$!中有出错信息。
        3:追加:open(文件句柄,">>文件名"),基本同写,但有一点,文件中的内容不会被清空,新的内容会追加到原文后面。
        4:读写:open(文件句柄,"+<文件名"),通过“+<”模式,你可以既可以读文件,又可以写文件。你可以通过tell() 函数在文件内部移动,通过seek()函数进行定位。如果文件不存在,就会被创建。如果文件已经存在,原来的数据不会被清除。
             open(文件句柄,"+>文件名"),通过“+》”模式,可以同时读写文件,但与上面不同的是,它是破怀性写,会清除原来的内容。
        例子:
        my $conf = "D:/test.txt";
    
        if(-e $conf)  #判断文件是否存在
        {
            open(FILE, "<$conf") or die("No such file");
       
            while($LINE = <FILE>)         #读取文件
            {
                print $LINE;
                   push(@del,$LINE);
             }
             close(FILE);
  • 相关阅读:
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
    LeetCode
  • 原文地址:https://www.cnblogs.com/zendu/p/4988203.html
Copyright © 2011-2022 走看看