zoukankan      html  css  js  c++  java
  • [转 改] Perl初级教程 (三)

    文件处理

    下面是一个简单的perl程序,与UNIX中cat命令对某个文件的操作相同。

    #!/usr/local/bin/perl
    #
    # Program to open the password file, read it in,
    # print it, and close it again.
    
    
    $file = '/export/home/dwei/ProgramScriptFolder/TextFile'; # Name the file open(INFO, $file); # Open the file
    #open(INFO,'/export/home/dwei/ProgramScriptFolder/TextFile'); # open函数打开一个文件并进行读操作。第一个参数filehandle是指向文件的句柄。第二个参数为被打开的文件的文件名
    @lines = <INFO>;		# Read it into an array
    close(INFO);			# Close the file
    print @lines;			# Print the array
    >

    Introducing ideaX Power Sessions
    Here is your opportunity to engage in hyper-focused idea-generating sessions to improve Advent’s business! Anthony Sperling is hosting the first session, with two topics:  
    First, since referrals from our satisfied clients are a huge source of our new sales, what are some ideas of how we could positively tap into our user community in ways that we are not today?

    Secondly, APX has been a big market success for Advent and we still have a very large, opportunity to upgrade our remaining Axys customer base. What are some additional thoughts on how we could encourage more and more Axys clients to move up to our APX solution?

    Categories have been created for these topics. Using a category topic, post your ideas or vote and comment on other ideas while the session is active (April 29-May 21). Anthony and his team will then review the ideas and share back with Advent how and when some of the ideas will be put into action. We’ll recognize contributors and adopters.


    #open语句也可以对文件进行输出和附加操作。可以在文件名前加>进行输出操作,用>>进行附加操作:

    open(INFO, ">$file"); # Open for output

    > [返回空,文件内容也清空]


    open(INFO ,">>$file");      # Open for appending
    print INFO "Hello World!";   # Input the text to file. 
    close(INFO);

    open(INFILE ,"$file");
    @lines = <INFILE>;
    close(INFILE);
    print @lines;

    > Hello World ! Hello World !


     

     【控制结构
    foreach
    代码
    @FruitList = ("Apple ","Pear ","Orange ","Peach ");
    print("\n");
    print(@FruitList);
    print("\n");
    foreach $Item (@FruitList)
    {
        
    print("\n");
        
    print($Item);
    }
    > Apple
      Pear
      Orange
      Peach
     
     

     for

    
    

     每次的操作过程被包围在花括号内。程序块中的$Item第一次被赋予@FruitList数组中的第一个值,然后被赋予数组的第二个值,依次类推。如果@FruitList是空的,那么程序块将不会被执行

     

    判断

    判断是检验表达式结果是真是假的一种结构。在Perl中,任何非0数字和非空字符串被看作真。数字0、0字符串和空字符串被看作假。下面是一些基于数字和字符串的判断

    $NumberA = 1;
    $NUmberB = 2;
    if ($NumberA != $NumberB)  # == Is $a numerically equal to $b?
    {
        
    print("Hello World!");
    }
    > Hello World!
     

    $StrA = "A";
    $StrB = "B";

    if ($StrA eq $StrB)     # eq :Is $a string-equal to $b?
    {
     print("Hello World!");
    }              # ne : Is $a string-equal to $b?
    else
    {
     print("Here!");
    }

    > Here!
     

     【逻辑

     

    $StrA = "A";
    $StrB = "0";

    if ($StrA && $StrB)
    {
        
    print("Hello World!");
    }
    else
    {
        
    print("Here!");
    }
     
    > Here!
     

    $StrA = "A";
    $StrB = "0";

    if ($StrA || $StrB)
    {
     print("Hello World!");
    }
    else
    {
     print("Here!");
    }

     > Hello World!
     

    $StrA = "A";
    $StrB = "0";

    if (! $StrB)
    {
     print("Hello World!");
    }
    else
    {
     print("Here!");
    }

    > Hello World!

     

     

    - Make people around you successful is the biggest contribution to ourselves. -

  • 相关阅读:
    【转】Android开发——MediaProvider源码分析(2)
    关于ActivityGroup使用过程中遇到的一点问题
    HttpWebRequest详解
    关于Assembly.CreateInstance()与Activator.CreateInstance()方法的区别
    你会在C#的类库中添加web service引用吗?
    ASP.NET跳转网页的三种方法的比较
    .net发送HTTP POST包
    依赖注入
    微软ASP.NET MVC Beta版本发布
    随笔~
  • 原文地址:https://www.cnblogs.com/zencorn/p/1740064.html
Copyright © 2011-2022 走看看