perl中的正则表达式(my $me = $0) =~ s#.*[\/|\\]##; 是什么意思?
答案:1 悬赏:30 手机版
解决时间 2021-04-14 20:23
- 提问者网友:却不属于对方
- 2021-04-14 10:49
perl中的正则表达式(my $me = $0) =~ s#.*[\/|\\]##; 是什么意思?
最佳答案
- 五星知识达人网友:平生事
- 2021-04-14 12:09
(my $me = $0) =~ s#.*[\/|\\]##;
把所有 /或者\ 前面(包括/或者\)的字符去掉
(my $mePref = $me) =~ s#(.*).pl#$1#;
表示去掉.pl后缀名。
在s///操作符中,可以用#、!等来作为分隔符。
(my $mePref = $me) =~ s#(.*).pl#$1#;
也可以写为(my $mePref = $me) =~ s/(.*).pl/$1/;
$me是用来控制该脚本在cmd中运行,而不是在cygwin中运行。是这个意思。追问太感谢你啦!
我还有两个不明白的地方:
1. s//操作是删除的意思吗?
2. 脚本里面对于$me的操作只有(my $me = $0) =~ s#.*[\/|\\]##; 这一句,
为什么这样写之后$me就能控制脚本在cmd中运行,而不在cygwin中运行呢?
把所有 /或者\ 前面(包括/或者\)的字符去掉
(my $mePref = $me) =~ s#(.*).pl#$1#;
表示去掉.pl后缀名。
在s///操作符中,可以用#、!等来作为分隔符。
(my $mePref = $me) =~ s#(.*).pl#$1#;
也可以写为(my $mePref = $me) =~ s/(.*).pl/$1/;
$me是用来控制该脚本在cmd中运行,而不是在cygwin中运行。是这个意思。追问太感谢你啦!
我还有两个不明白的地方:
1. s//操作是删除的意思吗?
2. 脚本里面对于$me的操作只有(my $me = $0) =~ s#.*[\/|\\]##; 这一句,
为什么这样写之后$me就能控制脚本在cmd中运行,而不在cygwin中运行呢?
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯