免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
123下一页
最近访问板块 发新帖
查看: 3554 | 回复: 25

perl问题请教 [复制链接]

论坛徽章:
0
发表于 2006-12-13 17:44 |显示全部楼层
领导12月初要求我学perl,10号交个我一个任务,要求月底完成,突然昨天又交给我一个任务要求我1周内完成,其实平时也还有很多其他的事情在做着,没有办法,只有向大家请教了。
第一个任务:8051汇编语言语法检查
背景是这样的,公司自己做一个8051,在此8051上只包含标准8051汇编命令集的部分命令,我写的perl程序需要检查程序员写的8051程序用的汇编命令只是用的我们规定的部分命令,而不是通常意义的标准8051的全集命令,并报告出超出范围的命令在程序的行数等信息。
比如:关于add命令,8051全集有下列命令:
      ADD A, Rn
         ADD A, direct
         ADD A, @Ri
         ADD A, #data
         ADDC A, Rn
         ADDC A, direct
         ADDC A, @Ri
         ADDC A, #data
我们至今的8051关于add的命令只有:
      ADDC A, @Ri
如果程序员用了其他的add命令,我的程序可以检查出来并报告相关信息,同时我们老板要求我写的程序,对于我们自己8051上的命令子集在这个程序上最好是可以自定义的。

10号老板有交给我另外一个任务:
在solaris下的某个目录下:存在很多子目录和子文件,目录可能是链接,文件可能是文本文件或者是链接文件或者其他类型的文件,需要用perl程序查找包含特定字符的目录和文件,并报告出来,比如有下面的目录结构和文件:
     dir---
               dir1---
                         file1
                         file2   #文本文件,内容包含特定字符/abcd/ef/
               dir2             #链接文件,链接指向路径包含特定字符dir2->/abcd/ef/dirtemp
               file3
               file4            #文本文件,内容包含特定字符/abcd/ef/
我的perl程序在dir目录下运行,需要把file2,dir2,file4中包含的特定字符/abcd/ef/相关信息报告出来。

说实话,对第一个任务和第二个任务我的思路都是偏历,然后匹配(或许这个思路都是错的),但是根本不知道怎么写,毕竟刚刚开始,任务太急了。

请各位赐教!谢谢!

论坛徽章:
0
发表于 2006-12-13 18:07 |显示全部楼层
不急,明天再说

论坛徽章:
0
发表于 2006-12-13 18:12 |显示全部楼层
lex / yacc
不急,等LS的明天告诉你

论坛徽章:
0
发表于 2006-12-13 18:34 |显示全部楼层
原帖由 sousi 于 2006-12-13 17:44 发表
...
说实话,对第一个任务和第二个任务我的思路都是偏历,然后匹配(或许这个思路都是错的)
...

Hi,
思路是 right. Do it further by yourself and write somne code then asking here someone.

--ulmer

论坛徽章:
0
发表于 2006-12-13 18:42 |显示全部楼层

回复 4楼 ulmer 的帖子

谢谢!

论坛徽章:
0
发表于 2006-12-13 18:53 |显示全部楼层
关于第二个问题,我的具体思路是这样的。
偏历目录,判断目录下的文件(包括链接文件)、目录,对于文件判断是链接文件或者是文本文件,如果是链接文件,查找其链接中是否包含特定字符,如包含,报告其信息,如果是文本文件,打开该文件,查找特定字符,如果找到,返回信息,继续下一个文件,直至该目录下所有的文件偏历完,如果是目录就进入继续上面的过程。
有这样的思路,但是不知道如何实现。

论坛徽章:
0
发表于 2006-12-13 19:24 |显示全部楼层
原帖由 sousi 于 2006-12-13 18:53 发表
关于第二个问题,我的具体思路是这样的。
偏历目录,判断目录下的文件(包括链接文件)、目录,对于文件判断是链接文件或者是文本文件,如果是链接文件,查找其链接中是否包含特定字符,如包含,报告其信息,如果 ...


思路正确,你只要解决遍历,文件判断,关键字查找三个问题差不多就行了
正好四楼所说的,你总得先写几行代码,然后再问别人吧,工作的事,由别人全部代劳不好吧

要不等等,版版们很好心的,有希望

论坛徽章:
0
发表于 2006-12-13 19:34 |显示全部楼层

回复 7楼 Namelessxp 的帖子

"正好四楼所说的,你总得先写几行代码,然后再问别人吧,工作的事,由别人全部代劳不好吧"
谢谢你的批评,我只能说的是我现在正在看最基本的perl书籍。

论坛徽章:
0
发表于 2006-12-13 20:30 |显示全部楼层
原帖由 Namelessxp 于 2006-12-13 18:12 发表
lex / yacc
不急,等LS的明天告诉你

太复杂了吧

我自学了几次也没学会

我看shell就可以解决这两个问题:
第一个grep 再grep
第二个find:em11:

论坛徽章:
0
发表于 2006-12-13 20:31 |显示全部楼层
我的确想明天再回复来的,没想到回到家里竟然能上网,哈哈,又来灌水
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会

【架构革新 高效可控】2020年12月21日-23日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP