perl调用外部命令(g)awk的方法

 更新时间:2013年02月08日 20:21:43   作者:  
perl为行读取方式,有着强大的对行处理的能力,同样,通过内部命令和巧妙的编程技巧,其对列的处理能力同样不可小觑

但是,linux系统的常用小工具awk天生对列操作友好,有时直接在perl中调用awk比写相应的perl脚本要方便有效的多。比如用system插入awk语句:

复制代码 代码如下:

system(gawk '{print $1}' $filename);

执行该l语句,你会发现这行会报错,提示你使用了read-only 的变量$1。
那么,如何处理两种生态系统下的冲突呢?
有一个简单的解决办法:

复制代码 代码如下:

my $i="$1";
system(gawk '{print $i}' $filename);

这样便解决了(g)awk的$1和perl的 内置变量$1的冲突的问题了。

相关文章

  • perl上下文介绍

    perl上下文介绍

    了解perl的朋友,都知道perl上下文在perl编程中的重要性,这里粗浅的作下介绍,供初学的朋友参考
    2013-02-02
  • perl批量查询ip归属地的方法代码

    perl批量查询ip归属地的方法代码

    由于业务需要,要查询客户的ip地址,将部分地区的客户过滤出来,感谢黑影子和扶凯的帮忙,推荐了IP::QQWry::Decoded这个模块,该模块是专门用来读取qqwry纯真数据库的,用起来非常简单
    2013-04-04
  • perl之print,printf,sprintf使用案例详解

    perl之print,printf,sprintf使用案例详解

    这篇文章主要介绍了perl之print,printf,sprintf使用案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • perl中heredoc使用说明

    perl中heredoc使用说明

    在成块打印文本的时候特别有用,需要的朋友可以参考下
    2013-02-02
  • Perl信号处理学习简单小结

    Perl信号处理学习简单小结

    这篇文章主要介绍了Perl信号处理学习简单小结,本文着重列出了Unix下常见的处理信号表,需要的朋友可以参考下
    2014-09-09
  • perl用{}修饰变量名的写法分享

    perl用{}修饰变量名的写法分享

    在perl中用{}修饰变量名,可以防止 _ 被解释为变量名的一部分
    2013-02-02
  • perl处理json的序列化和反序列化

    perl处理json的序列化和反序列化

    perl可以使用JSON模块很方便的处理json的序列化和反序列化,本文通过一个简单例子给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧
    2023-12-12
  • Perl脚本实现递归遍历目录下的文件

    Perl脚本实现递归遍历目录下的文件

    这篇文章主要介绍了Perl脚本实现递归遍历目录下的文件,本文直接给出实现代码,代码中包含明细注释,需要的朋友可以参考下
    2015-04-04
  • 有关perl的内置特殊变量介绍

    有关perl的内置特殊变量介绍

    有关perl的内置特殊变量,很全面,有需要的朋友收藏下吧
    2013-02-02
  • 在EditPlus中配置Perl开发编译环境

    在EditPlus中配置Perl开发编译环境

    这篇文章主要介绍了在EditPlus中配置Perl开发编译环境,配置起来蛮简单,适合小型开发环境,需要的朋友可以参考下
    2015-06-06

最新评论