关于地图的Perl编程

时间:2014-03-04 01:30:28

标签: perl dictionary

我正在复习我的作业,我对笔记中的陈述感到困惑。如果有人可以解释代字号正在做什么以及s / \ d那将是伟大的。

@name = ("Name: Bruce Grade: 85", "Name: Jill Grade: 87");
@GradeA = map { $entry = $_; $entry = ~ s/\d{2,3}/A/; $entry} @GradeA;

1 个答案:

答案 0 :(得分:3)

= ~是两个operators:赋值和按位否定。看到它后面是正则表达式替换,很可能你把它与=~混淆了,= ~是绑定运算符,与正则表达式一起使用(除其他外)。

假设map是拼写错误,s///语句只是将正则表达式替换12应用于字符串列表,更改2-3个数字(例如123A}至s/\d{2,3}/A/ for @GradeA; 。它写得有些冗余,可以简化为

{{1}}