我写的代码如下:
#!/usr/bin/perl
my @input = ( "a.txt" , "b.txt" , "c.txt" ) ;
my @output = map { $_ =~ s/\..*$// } @input ;
print @output ;
Run Code Online (Sandbox Code Playgroud)
我的目的是让没有扩展名的文件名存储在数组中@output.但它改为存储返回的值s///而不是更改的文件名@output,因此结果如下
1
1
1
Run Code Online (Sandbox Code Playgroud)
那么map在这种情况下使用的正确方法是什么?