如何处理Global symbol * requires explicit package name编译错误,以及use strict用法

编写下面的简单示例来说明如何处理如下类型的错误提示:

 

Global symbol "$c" requires explicit package name at *.pl line 8.

Execution of *.pl aborted due to compilation errors.

 

#############Code Starts###############

#!/usr/bin/perl -w

use strict;

 

$a=0377;

 

$b=0x12;

 

$c=$a+$b;   #key point;

 

print $c,"\n";

 

#############Code Ends###############

 

这时候直接运行是编译不通的,会出现开头说道的那种错误。

关键在于有$c的那2行:变量的作用域问题和use strict的使用。

我们使用my来声明$c,即可改正问题:

把"

 

$c=$a+$b;" 改为"my 

 

$c=$a+$b;",再次运行,成功!

 

 

 

 

 

 

 

use strict的用法

 

 

1.什么场合要用 use strict

 

 

当你的程序有一定的行数时,尤其是在一页放不下时,或者是你找不到发生错误的原因时。

 

 

 

 

 

 

2.为什么要用 use strict?

 

 

 

 

 

 

 

 

 

 

 

 

众多的原因之一是帮你寻找因为错误拼写造成的错误。比如错误使用了'$recieve_date' 变量,但实际上你在程序中已声明的是 '$receive_date' 变量,这个错误就很难发现。同样,use strict 迫使你把变量的范围缩到最小,使你不必担心同名变量在程序的其它部份发生不良作用。(尽管这是 my 的功能,但是如果你使用 use strict 的话,它会强迫你用 my 声明变量,来达到上述目的)。

 

 

3.用use strict麻烦吗?

 

 

 

 

 

不麻烦,只要在你的脚本的开始加上11个字符而已!(use strict;), 另外在整个程序中用my 声明变量。

 

 

 

 

 

 

 

 

在你的脚本的开头 '#!/usr/local/bin/perl' 后面加上这句就行:

 

 

 

 

 

use strict;

 

 

 

4.程序出错了,该怎么办? 

常见的错误信息一般如下:(前面已经解决过了)

 

 

Global symbol "$c" requires explicit package name at *.pl line 8.

转载于:https://www.cnblogs.com/tibetanmastiff/archive/2011/12/20/2294374.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/422623.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql error 1201_ERROR 1201 (HY000): Could not initialize master info structure; .....

配置mysql主从复制,start slave是报错:ERROR 1201 (HY000): Could not initialize master info structure; more error messages can be found in the MySQL error log原因:之前做过主从复制解决办法:mysql> stop slave;Query …

如何将函数的实际参数转换成数组

转自:http://www.planabc.net/2010/01/06/arguments_to_array/ 实际参数在函数中我们可以使用 arguments 对象获得 (注:形参可通过 arguments.callee 获得),虽然 arguments 对象与数组形似,但仍不是真正意义…

mysql 执行查询_MySQL查询的执行过程

我们总是希望MySQL能够获得更高的查询性能,最好的办法是弄清楚MySQL是如何优化和执行查询的。一旦理解了这一点,就会发现:很多的查询优化工作实际上就是遵循一些原则让MySQL的优化器能够按照预想的合理方式运行而已。当向MySQL发送一个请求的…

膨胀

转载于:https://www.cnblogs.com/carekee/articles/2296335.html

超酷的爬虫可视化界面

大家好,本文主要介绍使用tkinter获取本地文件夹、设置文本、创建按钮下拉框和对界面进行布局。 1.导入tkinter库 导入tkinter的库,可以使用ttkbootstrap美化生成的界面 ttkbootstrap官网地址:https://ttkbootstrap.readthedocs.io/en/late…

mysql5.6定时备份_Mysql自动备份

新建一个bat文件,比如db_back.bat,写入一下内容echo offset "Ymd%date:~,4%%date:~5,2%%date:~8,2%""C:/Program Files/MySQL/MySQL Server 5.6/bin/mysqldump.exe" --opt -u fate --password145829 logging > D:\db_backup\logging_%Ymd%.s…

项目管理沙龙第十次聚会纪要-AOM项目的敏捷实践

项目管理沙龙第十次聚会纪要会议一开始,就有人跟我们分享了一个名词,“分析瘫痪”,意思是不断地追求完美,结果始终在设计状态,无法到下一步去。详细可参考这个 http://hi.baidu.com/parad1se/blog/item/8724472a71b87e…

python安装依赖失败_python执行安装第三方依赖numpy失败:error: Unable to find vcvarsall.bat...

一台计算机上同时安装了python2.7和python3.7。现在为python2.7安装numpy包。失败:error: Unable to find vcvarsall.bat下载安装 Microsoft Visual C Compiler for Python 2.7user installations are disabled via policy on the machine.安装之后:C:\U…

什么是Ext(ExtJs)【转载】

Ext发展史   1、第一只“出海”的YUI-Ext只是作者Jack打算对基于BSD协议的Yahoo!UI库进行自定义的扩展,但后来一度风头盖过其父辈YUI,足以说明 大家对它的热情,很多人把它投入项目人并不十分了解它。分析人士打了一比喻:就好比尚…

zabbix mysql主从_zabbix监控mysql主从状态

1. zabbix客户端编辑脚本 /tmp/shell/mysql_slave_status.sh#! /bin/bash/usr/bin/mysql -p123456 -e ‘show slave status \G;‘|grep -E "Slave_IO_Running|Slave_SQL_Running"|awk ‘{print $2}‘|grep -c "Yes"2. 授执行权限chmod x mysql_slave_statu…

Delphi7函数大全

首部 function Languages: TLanguages; $[SysUtils.pas功能 返回系统语言对象说明 通过此函数可以得到系统的语言环境参考 type SysUtils.TLanguages例子 ///Begin Languagesprocedure TForm1.Button1Click(Sender: TObject);var I: Integer;begin Memo1.Clear; for I …

ffmpeg命令 抓屏_使用FFmpeg从视频中截图的命令 | 学步园

截取一张352x240尺寸大小的,格式为jpg的图片:ffmpeg -i test.asf -y -f image2 -t 0.001 -s 352x240 a.jpg把视频的前30帧转换成一个Animated Gif :ffmpeg -i test.asf -vframes 30 -y -f gif a.gif目前还没有找到截取…

[恢]hdu 1019

2011-12-16 04:10:41 地址&#xff1a;http://acm.hdu.edu.cn/showproblem.php?pid1019 题意&#xff1a;求n个数字的最小公倍数。 mark&#xff1a;lcm(a,b,c) lcm(a,lcm(b,c))。wa了一次&#xff0c;没注意lcm先除再乘&#xff0c;溢出了。 代码&#xff1a; # include <…

python输入日期时间转换格式_python如何格式化日期?

常用的时间函数如下&#xff1a;获取当前日期&#xff1a;time.time()获取元组形式的时间戳&#xff1a;time.local(time.time())格式化日期的函数(基于元组的形式进行格式化)&#xff1a;&#xff08;1&#xff09;time.asctime(time.local(time.time()))&#xff08;2&#x…

A→CALL→B时防止B程序COMMIT掉A程序文件的方法

PGMA: FFILEA UF K E DISK COMMIT(Switch)*LOVAL SETLL RECFILEA KEY READE RECFILEA 50 eval Switch2CALL PGMB eval Switch1EVAL FIELD1S UPDATE RECFILEA 20 转载于:https://www.cnblogs.com/etsdpt/archive/2012/01/09/2316840.html

mysql 数据库表锁死_mysql 数据库表被锁住了_Mysql数据库表锁死如何处理?

处理方式有如下三种&#xff1a;1.查询不是sleep或者有状态的sqlselect * from information_schema.processlist where command !Sleep or state !2.查询运行中的事务select trx_state, trx_started, trx_mysql_thread_id, trx_query from information_schema.innodb_trx3.查看…

敏捷开发一千零一问系列之二:序言及解决问题的心法(无住)

这是敏捷开发一千零一问系列的第二篇。&#xff08;之一&#xff0c;之二&#xff0c;之三&#xff0c;问题总目录&#xff09;也是般若敏捷系列第十一篇。&#xff08;之一&#xff0c;之二&#xff0c;之三&#xff0c;之四&#xff0c;之五&#xff0c;之六&#xff0c;之七…

ubuntu小企鹅输fcitx入法乱码问题

本教程中的技术资料来自互联网本人只是对其的一个总结并纠正其中的一些小错误和不足&#xff0c;希望能帮到你&#xff01; OK&#xff0c;Lets go! 一、fcitx输入法的安装 安装方法有两种&#xff1a; 1、在ubuntu的软件中心中搜索fcitx 就可以找到fcitx的安装包&#xff0c;傻…

pycharm自带python环境_Pycharm安装+python安装+环境配置

Pycharm工具&#xff1a;1.安装jdk(64位)&#xff1a;jdk-8u65-windows-x64.exe路径&#xff1a;C:\Program Files\Java(默认路径)2.配置环境步骤一&#xff1a;系统变量→新建 JAVA_HOME变量 。变量值填写jdk的安装目录(本人是C:\Program Files\Java\jdk1.8.0_65)步骤二&#…

大学四年, 专业心得

林锐有一本书, 叫做 <<高质量 C/C 程序设计指南>>. 其中附录里有他的一篇十分震撼的文章叫做 <<大学十年>>. 讲述了林锐从大学以来学习的经历和所获得的感想. 我看过后, 内心深深的被触动了, 都是大学 4 年, 为何差距如此之大? 都是学计算机专业, 为何…