在我以前写的博文[脚本与批处理合二为一-----(1)JaveScript篇]中实现Javascript与批处理的混搭,但很多TX可能更喜欢用PERL,其实用相同的原理也可以将PERL和批处理进行融合:使用PERL和批处理都能接受的语句将代码分流.
请看下面的代码(扩展名为bat),关键在前三行,对于这三行对于perl来说是一个数组定义,而对于批处理来说是两个注释语句和一个跳转语句,这样就实现了在不同解释器下的不同代码流:
1 首先文件作为批处理代码执行 2 由于第二行代码(goto)直接跳转到16行(:endofperl),执行一些批处理代码做一些预处理,
2 然后在23行(call perl...)将批处理文件当做Perl脚本文件装载到perl解释器
3 Perl代码将从第一行执行到第14行(__END__)退出
4 然后从24开始继续执行批处理代码做一些后处理
@rem = 'Perl read this as an array & skip the goto
@goto endofperl
@rem ';
#--------------------------------
# Perl Begin
#--------------------------------
#PERL代码写在这里
#---------------------------------
# Perl End
#---------------------------------
__END__
:endofperl
...
批处理语句写在这里
...
@rem 重新将本文件作为PERL脚本文件调用
call perl "%dpnx0" %*
...
批处理语句写在这里
...