我完全迷失在这行perl代码上
$path =~ s|^\./|~/|; #change the path for prettier output
我假设它与正则表达式有关。我对正则表达式有一些了解,但我似乎无法想出这一点。
什么是=~
以及为什么有这些以及如何在perl中表达正则表达式?
答案 0 :(得分:6)
=~
是一个绑定运算符。它将替换(因此s
)应用于变量$path
。替换有两个部分 - 正则表达式和替换。在这种情况下,它们由|
字符分隔。正则表达式是
^\./
^
代表字符串的开头。 \.
代表字面点,/
代表自己。因此,字符串开头的./
将替换为~/
。
答案 1 :(得分:4)
=~
将标量表达式绑定到模式匹配,s
用于替换
它的作用是将行的开头与./匹配,然后用〜/
替换它至|管道,你可以使用任何非空白字符来界定你可以使用^或&的正则表达式的部分。或q或m或{无论什么..大多数人使用/为了可读性,但对于你可能匹配/使用其他东西的情况。
希望这有帮助。