/定义变量;Dim RunTime,TimeNow
RunTime=CDate("00:30:00")//检测时间;Rem CheckTime
//取当前时间;TimeNow = CDate(CStr(Hour(Now))+":"+CStr(Minute(Now))+":"+CStr(Second(Now)))
MyVer = DateDiff("s",TimeNow,RunTime)
If MyVer<60
Goto Main
Else
Delay 50000
Goto CheckTime
EndIf
//调用你要执行的代码;
Rem Main //停止功能可以把执行时间设置成23个小时就行了。
可以把文件的名字、长度、日期存入数组或者文本文件,不断的定时重新更新数组,检测数组和上一次记录数值的变化,就可以知道哪些文件变化了(长度、日期)、哪些文件删除了、哪些文件新增的。
打开文件夹读取文件清单使用下面的语句:
$dir='/usr/local';
opendir(DIR,$dir);
@files=readdir(DIR);
closedir(DIR);
获取某个文件的时间、长度使用stat函数,说明如下:
perl stat 函数
stat()函数返回一个数组。下面是数组各元素的含义。
0 dev 设备号 驱动器号(C:通常是2,D:通常是3,等等)
1 ino 索引节号 总是0
2 mode 文件的方式 无
3 nlink 链接号 通常为0;Windows NT;文件系统允许链接
4 uid 文件所有者的用户ID(UID)总是0
5 gid 文件所有者的组ID(GID)总是0
6 rdev 特殊文件信息 驱动器号(重复)
7 size 文件大小(以字节计)文件大小(以字节计)
8 atime 上次访问的时间 上次访问的时间
9 mtime 上次修改的时间 上次修改的时间
10 ctime Inode修改时间 文件的创建时间
11 blksz 磁盘块的大小 总是0
12 blocks 文件中的块的数量 总是0
例:获取文件时间
my @array = stat("mysqltargz");
print "Mtime: $array[9]\n";
print "Size: $array[7]\n";
1、用perl的debug环境,比如要看Data::Dumper这个模块的函数,
perl -d -e 0
Loading DB routines from perl5dbpl version 127
Editor support available
Enter h or `h h' for help, or `man perldebug' for more help
main::(-e:1): 0
DB<1> use Data::Dumper
DB<2> S Data::Dumper
Data::Dumper::BEGIN
Data::Dumper::Bless
Data::Dumper::DESTROY
Data::Dumper::Deepcopy
Data::Dumper::Deparse
Data::Dumper::Dump
Data::Dumper::Dumper
Data::Dumper::DumperX
Data::Dumper::Dumpf
Data::Dumper::Dumpp
Data::Dumper::Dumpperl
Data::Dumper::Freezer
Data::Dumper::Indent
Data::Dumper::Maxdepth
Data::Dumper::Names
Data::Dumper::Pad
Data::Dumper::Pair
Data::Dumper::Purity
Data::Dumper::Quotekeys
Data::Dumper::Reset
Data::Dumper::Seen
Data::Dumper::Sortkeys
Data::Dumper::Terse
Data::Dumper::Toaster
Data::Dumper::Useperl
Data::Dumper::Useqq
Data::Dumper::Values
Data::Dumper::Varname
Data::Dumper::_dump
Data::Dumper::_sortkeys
Data::Dumper::new
Data::Dumper::qquote
复制代码
2、如果是oo类的模块,可以用DDP这个模块,可以查看类的继承关系,公共变量,私有变量,公共方法,私有方法等比如:perl -MDDP -e 'use LWP::UserAgent;$ua=new LWP::UserAgent; p $ua'
LWP::UserAgent {
Parents LWP::MemberMixin
Linear @ISA LWP::UserAgent, LWP::MemberMixin
public methods (46) : add_handler, agent, can (UNIVERSAL), clone, conn_cache, cookie_jar, credentials, default_header, default_headers, DOES (UNIVERSAL), env_proxy, from, get, get_basic_credentials, get_my_handler, handlers, head, isa (UNIVERSAL), is_protocol_supported, local_address, max_redirect, max_size, mirror, new, no_proxy, parse_head, post, prepare_request, progress, protocols_allowed, protocols_forbidden, proxy, redirect_ok, remove_handler, request, requests_redirectable, run_handlers, send_request, set_my_handler, show_progress, simple_request, ssl_opts, timeout, use_alarm, use_eval, VERSION (UNIVERSAL)
private methods (5) : _agent, _elem (LWP::MemberMixin), _need_proxy, _new_response, _process_colonic_headers
internals: {
def_headers => ,
handlers => {
response_header =>
},
local_address => undef,
max_redirect => 7,
max_size => undef,
no_proxy => [],
protocols_allowed => undef,
protocols_forbidden => undef,
proxy => {},
requests_redirectable => [
[0] "GET",
[1] "HEAD"
],
show_progress => undef,
ssl_opts => {
verify_hostname => 1
},
timeout => 180,
use_eval => 1
}
}
3、自己做手动分析,模块导入后,自然会在符号表中存入相关的函数,遍历出来就是了:
perl -le 'use Data::Dumper;for (keys %Data::Dumper::){print if defined {$Data::Dumper::{$_}}{CODE}}'
复制代码
4,源代码搜索:vim Carppm
:g/^sub/
以上就是关于perl每日10执行怎么设定全部的内容,包括:perl每日10执行怎么设定、Perl如何监听文件的变化、perl如何查看某个模块中的函数等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)