转换的问题~~~

jinandsun 2002-01-23 01:48:26
1......
tr/a-z/ /c 什么意思?
如果附加一个C(类似附加一个d),则在256个字符的字符集内对旧串进行取补,从所有可能的字符组成的字符集中除去旧串中的字符,剩余的字符按从高到低排序,组成作为结果的旧串,所以一种统计和改变字符串中的非字符的方法是:
$_="fred and barney";
$count=tr/a-z/ /c;#$_ unchanged,but $$count is 2.
tr/a-z/_/c; #$_ is now "fre_and_barney".



以上打括号的部分为书上原文,不能理解他的意思,所以拿到这里找大家帮我~
tr/a-z/ /c;
tr/a-z/A-Z/c; 这两个的旧串在加C以后还在256个字符集内进行取补吗?取补后的旧串是 不是256 减去旧串的原来字符 而产生取补后的字符,
上文还说 "从所有可能的字符组成的字符集(这句话我没有明白他是什么意思?)
2......
一行出现两次以上的单词,(其间可以有任意插入的空字符)这里说的单词是非空的字符序列,这些字符不能是空字符。
上面的是书上的一个题,大家帮我把这个模式做出来~
我不会,并希望给个解释,谢谢~

...全文
40 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
k2222hk 2002-02-06
  • 打赏
  • 举报
回复
tr
用法:tr/original/替代字串/
  tr/original/替代字串/开关
tr在传递给它的源字串里把original换成 "替代字串"

如 $string="This is my string";
$string=~tr/i/o/; #则把所有的i换成o

开关项:可取c ,即替换所有的除original之外的字符.
d ,即删除所有original字符,并删空格
s ,任意连续的original字符替换成单个 "替代字串"

另tr/a-z/ /c这种写法是不对的,应为
 tr/[a-z]/ /c 即,把源字串中的 除 a到z 以外的所有字符 均替成空格
 
 tr/[a-z]/[A-Z]/c,不知如何理解.

以上我写的是我的口语化的东西,可能不容易理解,但绝对准确



k2222hk 2002-02-06
  • 打赏
  • 举报
回复
你的书肯定不好, 怎么出现"取补"这样的字样,对于学习者来说,没翻译好.
jinandsun 2002-02-06
  • 打赏
  • 举报
回复
learning perl for win 32 是这本书的~

2,203

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 CGI
社区管理员
  • CGI社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧