gpt4 book ai didi

perl - Perl 的隐藏功能?

转载 作者:行者123 更新时间:2023-12-03 04:24:14 25 4
gpt4 key购买 nike

锁定。这个问题及其答案是locked因为这个问题是题外话,但具有历史意义。它目前不接受新的答案或互动。








Perl 中有哪些真正有用但深奥的语言特性,您实际上能够用来做有用的工作?

准则:

  • 尝试将答案限制在 Perl 核心而不是 CPAN
  • 请给出示例和简短说明


  • 在其他语言的隐藏功能中也发现了隐藏功能:

    (这些都来自 Corion's answer)
  • C
  • 达夫的装置
  • 便携性和标准性
  • C#
  • 空格分隔列表和字符串的引号
  • 可别名命名空间
  • Java
  • 静态初始化器
  • JavaScript
  • 函数是一等公民
  • 块作用域和闭包
  • 通过变量间接调用方法和访问器
  • Ruby
  • 通过代码定义方法
  • PHP
  • 无处不在的在线文档
  • 魔术方法
  • 符号引用
  • Python
  • 一行值交换
  • 甚至可以用您自己的功能替换核心功能

  • 其他隐藏功能:

    运营商:
  • The bool quasi-operator
  • The flip-flop operator
  • 也用于 list construction
  • The ++ and unary - operators work on strings
  • The repetition operator
  • The spaceship operator
  • The || operator (and // operator) to select from a set of choices
  • The diamond operator
  • Special cases of the m// operator
  • The tilde-tilde "operator"

  • 引用结构:
  • The qw operator
  • Letters can be used as quote delimiters in q{}-like constructs
  • Quoting mechanisms

  • 语法和名称:
  • There can be a space after a sigil
  • You can give subs numeric names with symbolic references
  • Legal trailing commas
  • Grouped Integer Literals
  • hash slices
  • Populating keys of a hash from an array

  • 模块、编译指示和命令行选项:
  • use strict and use warnings
  • Taint checking
  • Esoteric use of -n and -p
  • CPAN
  • overload::constant
  • IO::Handle module
  • Safe compartments
  • Attributes

  • 变量:
  • Autovivification
  • The $[ variable
  • tie
  • Dynamic Scoping
  • Variable swapping with a single statement

  • 循环和流量控制:
  • Magic goto
  • for on a single variable
  • continue clause
  • Desperation mode

  • 正则表达式:
  • The \G anchor
  • (?{}) and '(??{})` in regexes

  • 其他特点:
  • The debugger
  • Special code blocks such as BEGIN, CHECK, and END
  • The DATA block
  • New Block Operations
  • Source Filters
  • Signal Hooks
  • map ( twice )
  • Wrapping built-in functions
  • The eof function
  • The dbmopen function
  • Turning warnings into errors

  • 其他技巧和元答案:
  • cat files, decompressing gzips if needed
  • Perl Tips


  • 另请参阅:
  • Hidden features of C
  • Hidden features of C#
  • Hidden features of C++
  • Hidden features of Java
  • Hidden features of JavaScript
  • Hidden features of Ruby
  • Hidden features of PHP
  • Hidden features of Python
  • Hidden features of Clojure
  • 最佳答案

    触发器运算符可用于在循环遍历文件句柄返回的记录(通常是行)时跳过第一次迭代,而不使用标志变量:

    while(<$fh>)
    {
    next if 1..1; # skip first record
    ...
    }

    运行 perldoc perlop并搜索“触发器”以获取更多信息和示例。

    关于perl - Perl 的隐藏功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/161872/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com