今天写脚本遇到Can't use string ("bond2     Link encap:InfiniBand ") as a symbol ref while "strict refs" in use at test.pl line 的错误

google了一下,发现stackoverflow有这样的错误,其中有一个是缺少一个分号导致的

例如:

open (FILE, "ifconfig | ");
while (<FILE>)
{
my $line = $_;
print $line
sleep ;
}

运行之后是这个错误:

Ifconfig is obsolete! For replacement check ip.
Can't use string ("bond2 Link encap:InfiniBand ") as a symbol ref while "strict refs" in use at test.pl line 15, <FILE> line 1

我仔细检查我自己的代码,并未发现缺少分号,运行之后依然报错

我的代码是:就是运行data命令,把结果写到data.log中

#!/usr/bin/perl
use strict;
sub TIME
{
my $time=readpipe("date");
return "$time\n";
}
open(TIME,">date.log") or die "$!\n";
print TIME &TIME;
close(TIME);

运行之后是这个样子

Can't use string (XXXXX) as a symbol ref while "strict refs" in use at test.pl line 8.

并非缺少分号,我又仔细看了,发现函数名和文件句柄名都是TIME,就把文件句柄名改成别的,然后脚本就可以正常运行

原来perl 文件句柄和函数不能使用相同的名字,以后再遇到类似的错误,注意检查一下文件名和分号

perl Can't use string Cxxx) as a symbol ref while "strict refs" in use at XXXX.pl错误的更多相关文章

  1. 在 Perl看来, 字符串只有两种形式. 一种是octets, 即8位序列, 也就是我们通常说的字节数组. 另一种utf8编码的字符串, perl管它叫string. 也就是说: Perl只熟悉两种编

    在 Perl看来, 字符串只有两种形式. 一种是octets, 即8位序列, 也就是我们通常说的字节数组. 另一种utf8编码的字符串, perl管它叫string. 也就是说: Perl只熟悉两种编 ...

  2. SqlBulkCopy批量插入数据 显示 来自数据源的 String 类型的给定值不能转换为指定目标列的类型 smalldatetime。错误

    因为需要大量插入数据,linq ef无法达到速度的要求,因此把模型转换成SQL ,使用SqlBulkCopy快速插入.但是去提示 来自数据源的 String 类型的给定值不能转换为指定目标列的类型 s ...

  3. perl中 use strict会出现“requires explicit package name”错误

    转载 perl中use strict的用法 如果你使用 use strict 的话,它会强迫你用 my 声明变量,否则将会报上述错误.

  4. perl 脚本测试

      原文地址:  http://blog.csdn.net/johnny710vip/article/details/8905239   这是一篇关于perl脚本测试的总结性文章,其中提到了很多实用的 ...

  5. split function of Perl,Python,Awk

    使用中常用到Perl,Python,AWK,R, 虽然Java,C,C++,Vala也学过但是就是不喜欢,你说怎么办. 看来一辈子脚本的命. Perl @rray = split /PATTERN/, ...

  6. 【转】Perl Unicode全攻略

    Perl Unicode全攻略 耐心看完本文,相信你今后在unicode处理上不会再有什么问题. 本文内容适用于perl 5.8及其以上版本. perl internal form 在Perl看来, ...

  7. php,perl计算crc

    PHP版: <?php echo getCrc32("/var/www/html/resource/koc_data/2013_03/01/1ck65e.koc") ; # ...

  8. Perl Unicode全攻略

    Perl Unicode全攻略 耐心看完本文,相信你今后在unicode处理上不会再有什么问题. 本文内容适用于perl 5.8及其以上版本. perl internal form 在Perl看来, ...

  9. perl 引用(数组和hash引用) --- perlreftut - Mark 的一个简单的'引用'教程 ---Understand References Today. --Mark Jason Dominus, Plover Systems (mjd-perl-ref+@plover.com)

    https://blog.csdn.net/fangwei1235/article/details/8570886 首页 博客 学院 下载 论坛 APP 问答 商城 活动 VIP会员 招聘 ITeye ...

随机推荐

  1. acpi和btrfs-安装opensuse时的选项

    g-------------------- 关于GPL和LGPL和QPL等 读书笔记:采用LGPL的代码,一般情况下它本身就是一个第三方库(别忘了LGPL最早的名字就是Library GPL),这时候 ...

  2. winsow xp不能安装软件, 提示"中断" 是因为设置了 软件限制策略

    原来是我为了优化和安全, 设置了软件限制策略. 我设置的是: secpol.msc中, 设置 "软件限制策略" -> "其他规则"中 , 指定了 c:/d ...

  3. [整理]VS2013常用插件

    VS2013常用插件 (工欲善其事,必先利其器.VS2013全攻略(技巧,快捷键,插件)[http://developer.51cto.com/art/201404/437282_all.htm] 代 ...

  4. [译]Mongoose指南 - 验证

    开始前记住下面几点 Validation定义在SchemaType中 Validation是一个内部的中间件 当document要save前会发生验证 验证不会发生在空值上 除非对应的字段加上了 re ...

  5. lustre文件系统部署流程

    # 1 准备工作### 1.1 添加以太网址添加以太网地址,使得gio017可以访问到需要安装的节点.修改gio017上的/etc/hosts,将需要批量操作的节点名以如下方式添加.```[gio01 ...

  6. UESTC 1851 Kings on a Chessboard

    状压DP... Kings on a Chessboard Time Limit: 10000ms Memory Limit: 65535KB This problem will be judged ...

  7. PHP预编译处理技术简介

    1.提高数据库的效率:减少编译次数,减少连接次数.当出现当量操作sql语句,比如大量将数据插入数据库中,原来的那种单个执行sql语句或者批量执行sql语句的做法,显然是不可行的,因为无论是单个执行还是 ...

  8. PHP简易聊天室&调试问题

    在进入login.php程序之后 <?php error_reporting(E_ALL^E_NOTICE); session_start();  //装载Session库,一定要放在首行 $u ...

  9. Android高仿微信(一)——如何消除启动时的白屏

    默认情况下,APP启动时会先把屏幕刷成白色,然后才绘制第一个Activity中的View,这两个步骤之间的延迟会造成启动后先看到白屏(时间大概为1秒左右).时间不长,但是我们也看到,一般的APP时不存 ...

  10. .net实现微信公众账号接口开发

    说起微信公众帐号,大家都不会陌生,使用这个平台能给网站或系统增加一个新亮点,直接进入正题吧,在使用之前一定要仔细阅读官方API文档. API文档地址:http://mp.weixin.qq.com/w ...