【问题标题】:Perl: Read system function as stringPerl:将系统函数读取为字符串
【发布时间】:2015-02-06 14:23:59
【问题描述】:

假设我有:

my $enter = `curl -s "http://google.com"`;

是否也可以将$enter 读取为字符串?除了运行 curl 函数之外,我还尝试将其作为字符串读取,以便提取网站名称 (google.com)

【问题讨论】:

  • “将$enter 读取为字符串”是什么意思?
  • 我想运行 curl 命令并将 URL 存储为字符串(在本例中为 google.com)
  • 我已经浏览了您的其他一些问题,但无法弄清楚您要做什么...但是有什么原因您不能使用它就在前面的事实你以某种方式“存储”它?
  • 您可以使用Backticks 模块执行此操作(注意:它使用源过滤,这很容易出错并且should generally be avoided)。但是,可能有更好的方法...您能否解释一下 curl 命令的来源,以便您认为您无法直接访问其内容?也许您正在从文件或类似的东西中读取它?

标签: perl


【解决方案1】:

不,反引号内的文本在变量中不可用。但是没有什么能阻止你将它放入你自己的变量中并执行 that 字符串:

my $cmd = 'curl -s "http://google.com"';
my $enter = `$cmd`;

【讨论】:

  • 或者更实际一点,my $url = "http://google.com"; my $enter = `curl -s $url`;
  • 哦,当然,在现实世界中,但在人为的例子中,他似乎坚持要知道命令的文本。
  • 如果想要现实,应该使用模块而不是反引号和curl
猜你喜欢
  • 2013-02-13
  • 2015-09-08
  • 1970-01-01
  • 2019-03-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-20
相关资源
最近更新 更多