Perl的默认工作模式,要么通过单行命令(one-liner)完成任务,要么一气呵成运行整个脚本完成。与Perl这种经典的脚本式编程相较而言,Python和R默认的交互式编程工作模式更为直接、更为友好、更具有可读性、可解释性、可调试性。其实,用Perl也可以进行类似的交互式编程。我尝试过两种方案。
一种是安装并使用PDL。完成后在shell中输入pdl2命令,在pdl2的subshell中输入$_REPL->print_by_default(1)命令回车,让基于Devel::REPL的Perl交互式编程环境(R读取,E执行,P打印,L循环)默认回车即打印运行结果。然后可输入代码或表达式,效果如下图所示:
另一种方案是使用近年来比较流行的Jupyter Notebook。安装完Jupyter Notebook后,再安装基于Devel::IPerl的Jupyter Perl Kernel。如果前面的PDL也安装了,借助PDL强大的矩阵运算与图形处理功能,在Jupyter Notebook里也能交互式地实现数据的挖掘分析与可视化。下图是我的一个使用示例。