刚刚开始使用 Watson 的语音 API。尝试使用他们的演示文件 audio-file.flac。您必须相信我的话,我从它所在的目录发布 curl 命令,并且根据 ls-l 命令,文件大小为 285928 字节。
这是我的帖子
curl -X POST -u xxxxxxxxxx-:yyyyyyyy --header "Content-Type: audio/flac" --data-binary "audio-file.flac" "https://stream.watsonplatform.net/speech-to-text/api/v1/recognize"
Run Code Online (Sandbox Code Playgroud)
我回来了
{ "code_description": "Bad Request", "code": 400, "error": "Stream was 15 bytes but need to be at least 100 bytes." }
令人惊奇的是流的大小。我有一个很好的互联网连接,无论我尝试多少次,它都会返回 15。如果我将文件名更改为不正确的名称,它会返回 0。那么这 15 来自哪里?
有人对此有经验吗?
谢谢
我可以确定是否从终端运行 Perl 脚本吗?
如果我不确定的话,我宁愿默认假设它是从浏览器运行的。但如果有一种方法可以确保它 100% 是从终端运行的,我会很高兴(出于调试目的)。
这听起来很疯狂,但是当我使用该线printf(".")直到我打印其他内容时,屏幕上都没有显示.当我打印出其他信息时,从简单的行返回到实际数据,所有备份的点都打印出来.如果我使用printf(".\n")那么它工作正常.
我是在Ubuntu系统上做这个,如果这有所作为.
谢谢
在C中,您可以创建自己的结构,并从那里创建一个链接列表,其中结构中的记录将指向下一个记录以及前一个记录.
当然Perl必须有办法做到这一点?很想知道如何.
谢谢
我有一个来自原始数据的字符串。我不能保证可能会有或没有多余的逗号。我以为我可以这样删除它:
$value = "cat, dog, fish, ";
$value =~ s/,//r;
Run Code Online (Sandbox Code Playgroud)
可悲的是这不起作用。当然,我可以做一个循环来逐个检查字符串的最后一个字符,但是我想学习如何使用Regex反斜杠方法。
有谁可以帮助我吗?
我目前的Perl包导出感觉很长(下面的代码段).是的,最好只在一个地方输入一次,这样我的许多Perl脚本都可以通过以下方式访问它们:
use Funx;
Run Code Online (Sandbox Code Playgroud)
我仍然只是希望有一种简单的方法来输出更少的打字输入.
package Funx;
#use strict;
use warnings;
use DBI;
use Exporter;
our @ISA = 'Exporter';
our @EXPORT = qw(pdone dbstart dbstop dbc dbcdata numnums $SUCCESS $NOFILE
$COPYFAIL $SOXFAIL $CURLFAIL $OPENFAIL $APPRUNNING $RAWDBEXIISTS $DBCREATEERR $DBCONNECTERR $TMPFILEERR $DBWRITEERR $INVALIDUSER $DBLOCKERR $DBUNLOCKERR WERR);
our $SUCCESS = 0;
our $NOFILE = 1;
our $COPYFAIL = 2;
our $SOXFAIL = 3;
our $CURLFAIL = 4;
our $OPENFAIL = 5;
our $APPRUNNING = 6;
our $RAWDBEXIISTS = 7;
our $DBCREATEERR = 8;
our …Run Code Online (Sandbox Code Playgroud) 在我的代码中,我有一个多维数组
$rows[$x][$y]
Run Code Online (Sandbox Code Playgroud)
我将它传递给具有多种用途的子函数,但在某些时候,该函数将需要从主数组中删除(弹出)其中一个元素.
我相信传递它的正确方法是引用它,因为我传递的不仅仅是数组:
filterout(\@rows, $y, $data );
Run Code Online (Sandbox Code Playgroud)
但我不确定在子程序端解除引用它的语法.
非常感谢任何帮助,谢谢.
因此,我将数组引用传递给函数以清除某些数组元素:
代码如下:
if($notes->[$x] !~ /[^CF]/)
{
print "$notes->[$x]\n";
splice (@{$notes}), $x, 1;
}
Run Code Online (Sandbox Code Playgroud)
如果注释掉拼接线,则循环可以很好地显示数组的每个$ x元素。但是,如果我不注释掉拼接注释,那么一切都会失败。它不会打印出$ x元素,也不会执行splice命令。
在/var/www/cgi-bin/Funx.pm第130行的模式匹配(m //)中使用未初始化的值。
在/var/www/cgi-bin/Funx.pm第132行的串联(。)或字符串中使用未初始化的值。
完全不确定这里发生了什么。我可以理解我的接合线不是正确的语法。但是我为什么不影响它上面的线。
任何见识将不胜感激。