我想知道的意思
"$0 =~ s!.*/!!"
Run Code Online (Sandbox Code Playgroud)
在perl中,我怎样才能学习这门语法?欢迎各种答案.
这会将脚本($0)的名称截断为其基本名称.它对诊断很有用.没有截断,你的警告信息
warn "$0: Failed to mumble"
Run Code Online (Sandbox Code Playgroud)
会出来的
weird/long/path/to/mumble.pl: Failed to mumble at line 3.
Run Code Online (Sandbox Code Playgroud)
而截断则显示
mumble.pl: Failed to mumble at line 3.
Run Code Online (Sandbox Code Playgroud)
所以它只是警告信息的可读性调整,真的.但这是一个常见的习语.
初学者的难点可能是实现,这s!foo!bar!只是另一种说法s/foo/bar/.当你需要对包含斜杠的字符串执行替换时,这是天赐之物.如果没有这种语法糖,你需要反斜杠s/.*\///,对于单个斜线不是太可怕,但很快就会导致倾斜的牙签.
| 归档时间: |
|
| 查看次数: |
783 次 |
| 最近记录: |