首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

为什么我不能说print $ somehash {$ var} {fh}"foo"?

这个问题是关于在Perl编程语言中,为什么不能使用print $somehash{$var} $fh "foo"这样的语法。

在Perl中,print语句的语法是print FILEHANDLE LIST,其中FILEHANDLE是一个可选的文件句柄,LIST是要打印的列表。在这个问题中,$somehash{$var}是一个变量,$fh是一个文件句柄,"foo"是一个字符串。

问题中的语法错误是因为,print语句的语法要求FILEHANDLE必须在LIST之前,而问题中的语法将$fh放在了$somehash{$var}之后,导致语法错误。

正确的语法应该是print $fh $somehash{$var}, "foo"或者print {$fh} $somehash{$var}, "foo"

总结一下,问题中的语法错误是因为print语句的语法要求FILEHANDLE必须在LIST之前,而问题中的语法将$fh放在了$somehash{$var}之后,导致语法错误。正确的语法应该是print $fh $somehash{$var}, "foo"或者print {$fh} $somehash{$var}, "foo"

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

【十五】python之异常处理

AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输入/输出异常;基本上是无法打开文件 ImportError 无法引入模块或包;基本上是路径问题或名称错误...AttributeError 试图访问一个对象没有的树形,比如foo.x,但是foo没有属性x IOError 输入/输出异常;基本上是无法打开文件 ImportError 无法引入模块或包;基本上是路径问题或名称错误...except IOError: print "Error: 没有找到文件或读取文件失败" else: print "内容写入文件成功" fh.close...except IOError: print "Error: 没有找到文件或读取文件失败" else: print "内容写入文件成功" fh.close.../usr/bin/python def temp_convert(var): try: return int(var) except ValueError

1.1K20
  • PHP内存中的对象和引用简介

    经过大量研究,意识到找到我的问题的答案并不容易,所以一旦完成了,决定记录信息,以便人们可以在一个地方找到它。...首先要讲的是PHP中没有引用的内容;其次,将讨论它们是什么,最后,将研究垃圾收集器在PHP中是如何工作的。 执行类似$a = new Foo();语句时PHP如何在内存中创建对象?...为什么?因为,与C不同,PHP引用不是真正的内存地址,因为它们不是表示内存位置的数字。但是,什么是引用呢? 什么是 PHP中的引用? 在PHP中,引用是允许两个不同的变量读取和写入一个值的“别名” 。...$b = $a; 并不是说 $b 成为了$a的引用;我们也不能说$b 是$a的拷贝。...inc() { return ++$this->var; } } $a = new myClass(); // $a "references" a Foo object $b = $a; //b also

    2K10

    如何利用Python实现工作中的自动化

    作为一名优秀的社会主义接班人,肯定都会有将工作任务自动化的意识,于是去了解了一下身边不同岗位(HR、产品、运营、市场、数据分析师等)每天需要面对的重复性劳动(肯定会有不全,各位大佬不要喷~) 今天来分享一下在工作是实际会遇到的情况...): return fh.sheets() #获取sheet表的行数 def getnrows(fh,sheet): table=fh.sheets()[sheet] return...table.nrows #读取文件内容并返回行内容 def getFilect(file,shnum): fh=open_xls(file) table=fh.sheets()[shnum...: df_0 = data[['var_1','var_2','var_3','var_4',i]][data[i]=='信息'] df_0['month'] = date_replace...(i) df_0 = df_0[['var_1','var_2','var_3','var_4','var_5']] li.append(df_0) writer = pd.ExcelWriter

    54640

    【直播】的基因组59:把的数据伪装成23andme或wegene的芯片数据

    为什么会有这个需求呢?很简单,因为国内的一些基因检测公司支持导入23andme的芯片数据做解读,而我正想看看一下他们的技术功底到底如何?...从谷歌里面找到了一个公共的数据,点击阅读原文查看这个公共数据的下载链接! ? 这很容易明白23andme的芯片数据是什么格式的,基因组坐标的转换对等生物信息学工程师来说比吃饭还简单!...数据库文件里面映射VCF文件没有记录的点为野生型 (perl -alne '{print if /^rs/}' dm_23andme_v3_110219.txt |cut -f 1 >23andme.rsID.listcat.../variation/human/dbSNP/All_20160601.vcf.gz |perl -alne 'BEGIN{ open FH,"my_23andme.1.txt";while()..._110219.txt";while(){chomp;@F=split;if(/^rs/){$pos{$.}

    3.8K71

    编程语言中的变量作用域与闭包

    ,Javascript 为什么有变量提升,这里不仅仅是介绍what,更重要的是why,要知道这两门语言的设计者都是深耕CS领域多年的老手,不会轻易犯错的,肯定有“不为人知”的一面,但遗憾的是网上大部分文章就是解释...what,很少有涉及到why的,希望这篇文章能够填充这一空缺;最后介绍闭包这一重要概念。...s = "foo" def foo(): print s # bar.py from foo import foo s = "bar" foo() # 输出 foo 上面的示例包括两个文件...(hositing),也就是说,上面的代码等价于: var foo = 1; function bar() { var foo; if (!...foo) { foo = 10; } alert(foo); } bar(); 上面这个例子就简单演示了什么是变量提升,下面重点讲述为什么要这么设计?

    52520

    异常--python异常处理

    except IOError: print "Error: 没有找到文件或读取文件失败" else: print "内容写入文件成功" fh.close() 以上程序输出结果: $ python test.py...except IOError: print "Error: 没有找到文件或读取文件失败" else: print "内容写入文件成功" fh.close() 在执行代码前为了测试方便,我们可以先去掉 testfile...finally: print "关闭文件" fh.close() except IOError: print "Error: 没有找到文件或读取文件失败" 当在try块中抛出一个异常,立即执行finally.../usr/bin/python -- coding: UTF-8 -- 定义函数 def temp_convert(var): try: return int(var) except ValueError..." else: '''保护不抛出异常的代码''' print "没有异常" finally: print "最后总是要执行" 异常处理代码执行说明: #!

    2.8K20

    Dart | 你知道 sync*async* 是怎么用的吗?

    print(i); } print('foo1 stop'); } 当我们在 main函数里运行,结果大家应该都很清楚: foo1 start 0 1 2 foo1 stop 那所谓的函数生成器呢...答案是什么也不会发生,print也没有打印。 这是为什么? 当我们调用 foo2()的时候,这里会马上返回一个 Iterable,就像网络请求会马上返回一个 Feature一样。...来看一下调用方式和结果: var b = foo2().iterator; print('还没开始调用 moveNext'); b.moveNext(); print('第${b.current}次moveNext...现在有一个这样的需求,想每隔一秒钟请求一下数据,一共请求10次,看看有没有人关注等等, 如果使用原始的 async,该怎么做?...其实个人认为这种函数生成器还有一种作用就是可以让一个函数返回多个值。

    2.2K41
    领券