thể trùng lặp:
What does =~ do in Perl?không = ~ có ý nghĩa gì trong Perl
Trong một chương trình Perl tôi suy xét (namly plutil.pl), tôi thấy rất nhiều =~
trên phân tích cú pháp XML phần. Ví dụ, đây là chức năng UnfixXMLString
(đường 159
-167
trên 1,7 ($VERSION
sai khai báo là "1.5"))
sub UnfixXMLString {
my ($s) = @_;
$s =~ s/</</g;
$s =~ s/>/>/g;
$s =~ s/&/&/g;
return $s;
}
Từ những gì tôi có thể nói, nguyên mẫu C của nó sẽ là (C-like) string UnfixXMLString(string s)
và nó sử dụng toán tử =~
trên tham số (s
) và sau đó trả về chuỗi đã sửa đổi, nhưng nó đang làm gì?
Cụ thể hơn, nó được sử dụng để liên kết toán tử 'm //', 's ///' hoặc 'y ///' ('tr ///') với vô hướng. Regexes không liên quan đến cái cuối cùng. Nó cũng có thể được sử dụng như '$ var = ~ $ re', nó khá giống với' $ var = ~/$ re/'. – tchrist