我正在复习我的作业,我对笔记中的陈述感到困惑。如果有人可以解释代字号正在做什么以及s / \ d那将是伟大的。
@name = ("Name: Bruce Grade: 85", "Name: Jill Grade: 87");
@GradeA = map { $entry = $_; $entry = ~ s/\d{2,3}/A/; $entry} @GradeA;
答案 0 :(得分:3)
= ~
是两个operators:赋值和按位否定。看到它后面是正则表达式替换,很可能你把它与=~
混淆了,= ~
是绑定运算符,与正则表达式一起使用(除其他外)。
假设map
是拼写错误,s///
语句只是将正则表达式替换12
应用于字符串列表,更改2-3个数字(例如123
或A
}至s/\d{2,3}/A/ for @GradeA;
。它写得有些冗余,可以简化为
{{1}}