任务
在命令行上生成代码,该命令行以未打包的十六进制值作为输入,而evals则使用Perl。如下所示:
perl -e 'map{eval}pack q/h*/,q/072796e6470222458656275672370202d6f62756020222b302072796e6470222478616e60202f6e6560202771697020247f6020246f602029647e2c5e622/'
但是有一个额外的限制:您的代码必须经受住任何级别的ssh
(上面的例子无法继续使用,因为需要引用该空间:
# This does not work
ssh serv
我偶然发现了一个名为ssed的工具,它支持Perl的regex模式,是sed:https://launchpad.net/ssed/的增强版本。
此命令似乎不起作用:
printf 'a\nBc\n' | ssed -R 's/a(?m)\nBc\n/X\n/'
我预计产出如下:
X
但它印的是:
a
Bc
我知道我可以使用perl进行多行处理,但我现在想探索ssed可用的选项。
编辑:这是从launchpad页面:
(7) Perl-style regular expressions, with examples. Use the -R switch.
可能重复:
请考虑以下字符串:
String = "this is for test. i'm new to perl! Please help. can u help? i hope so."
在上面的字符串中,后面。或者?或者!下一个字符应该是大写字母。句子(字符串)的第一个字母也是大写的。我怎么能这么做?我在逐字阅读字符串。
你的帮助将不胜感激。
你好,阿米特
我用vim编写了一些Perl代码,意外地在变量名中输入了单引号,并注意到它以与普通单引号字符串不同的颜色突出显示。
我觉得这很奇怪,所以我编写了一个小的测试程序(如上面所示),并试图运行它来查看Perl将如何处理它,我得到了以下错误:
"my" variable $var::with::apostrophes can't be in a package
这到底是怎么回事?在某些情况下,变量名中的单引号实际上是有效的?如果是的话,单引号在这个上下文中使用时有什么意义?
我有一个像这样的文件
line one
line two
line three
line four
我希望它看起来像这样(我希望第2行和第3行合并成一个)
line one
line two line three
line four
我尝试了以下几点:根据我的研究,我应该做我想做的事情:
$ sed '2s/\n/ /' test.txt > test2.txt
然而,test2.txt看起来是这样的
line one
line two
line three
line four
我在Solaris上看到了一些与Linux不同的引用。这是我服务器的详细信息
$ uname
我正在接收一个管道分隔格式的消息传递文件。一条消息行非常长,几乎有6000条。总文件大小超过6gb。下面是文件的示例格式。需要解析文件并将所有内容都放在一行中。
我需要从数据中间删除新的行字符:
File: abc.txt
File_Name|abc.txt|date|04212019|this is one full line|Client_name|Whole
File_Name|abc.txt|date|04212019|half data is good
File_Name|abc.txt|date|04212019|Sample data
is split|Client_Name|M
我正在尝试安装Rakudo 2018.04在一个覆盆子Pi 3。
我知道:
sudo perl Configure.pl --gen-moar --gen-nqp --prefix ~/rakudo
它成功地完成了。
然后我试着:
sudo make-install
但它失败了,因为:
The following step can take a long time, please be patient.
/home/pi/rakudo/bin/moar --libpath="blib" --libpath="/home/pi/rakudo/share/nqp/lib
我对perl并不陌生,但我无法解决这个问题。
以下是我的问题陈述:
我正在使用Activestate 5.12 32位.我想一次在内存中存储大约32×8MB的double数组。不幸的是,在这种情况下,我会犯“内存不足”的错误。例如,下面的代码将导致内存不足。
my $aref1 = [(.25) x (8*1024*1024)];
my $aref2 = [(.25) x (8*1024*1024)];
my $aref3 = [(.25) x (8*1024*1024)];
my $aref4 = [(.25) x (8*1024*1024)];
my $aref5 = [(.25) x (