LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1228|回复: 7

出几个题

[复制链接]
发表于 2004-2-25 19:21:30 | 显示全部楼层 |阅读模式
1,怎么取的本地系统的HOSTNAME和设置HOSTNAME?
2.怎么从某一服务器取的它的时间?
3.怎么删除一个非空的目录?
4.计算圆周率,精确到1000个扇区(这是数学问题)?

欢迎有多种解题方法!! :help :help
发表于 2004-2-25 19:37:47 | 显示全部楼层
perl? 干吗要用perl?
 楼主| 发表于 2004-2-25 20:32:18 | 显示全部楼层
其实PERL有它的优势的。。。PERL有良好的跨平台性,能在不同的机器运行。。。。SHELL只有UNIX/LINUX能用吧?而且PERL比较C容易入门和开发(指编辑的速度)。特别对于网络,有很多的功能包都是现有的,就不用自己在写函数等的啦。。所以学PERL有好处的。。。
请大家也说说自己的看法。。


取得和设置主机名可以这样:

  1. #!/usr/bin/perl -w
  2. #system : RedHat 9.0
  3. print " local host name is $ENV{HOSTNAME}\n";
  4. $ENV{HOSTNAME}="new host name";
  5. print " The new host name is $ENV{HOSTNAME}\n";
复制代码

发表于 2004-3-4 19:18:48 | 显示全部楼层
请教一下$ENV{HOSTNAME}是什么?
内定的环境变量吗?
 楼主| 发表于 2004-3-4 19:28:48 | 显示全部楼层
最初由 the_threeeyes 发表
请教一下$ENV{HOSTNAME}是什么?
内定的环境变量吗?


是的ENV是environment的缩写。。
同样适用于其他的环境变量。。。
发表于 2004-3-4 19:36:03 | 显示全部楼层
这样好,要不从文件读取,设置要麻烦一点了
 楼主| 发表于 2004-3-4 19:57:54 | 显示全部楼层
打印出所有的环境变量。

  1. #!/usr/bin/perl -w
  2. foreach(keys %ENV) {
  3. print "$_  $ENV{$_}\n";
  4. }
复制代码


CU的bloves 这样也是打印出所有的环境变量:

  1. for(keys %ENV){
  2. print $_,"\t","=> ",$ENV{$_},
  3. print "\n";
  4. }
复制代码


PERL和其他语言一样,都有控制环境变量的关键字,象PERL的$ENV
发表于 2004-3-5 13:19:41 | 显示全部楼层
删除非空目录应该用模块File::path吧
里面有两个子程序:
mkpath(\@list,$verboseFlag,$permissionMode);
三个参数:一个包含待建目录的数组访问,一个布尔标识指示待建目录是否很长,一个文件状态是待建目录的权限状态
rmtree(\@list,$verboseFlag,$skipDirs);
三个参数:一个包含需删除目录列表的数组的访问,一个布尔标识为Ture时引起rmtree以较详细的方式工作,会显示出删除了哪些目录,后一个布尔标识为Ture时忽略没有写权限的目录。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表