我想在perl中创建带有长度的字符串,例如7,但是“可见”内容,例如“a”。如何在Perl中添加空字符到字符串?
my $ test = ...;
打印$测试结果: “一” 打印长度($试验)结果:7
我想在perl中创建带有长度的字符串,例如7,但是“可见”内容,例如“a”。如何在Perl中添加空字符到字符串?
my $ test = ...;
打印$测试结果: “一” 打印长度($试验)结果:7
参见pack
功能,也许。
您将空字符添加到字符串。为什么你想要这个超越了我,但你如何做到这一点如下所示。
{ow-loopkin:tmp:->perl
$string = "e\0\0\0\0";
print length $string;
[ctrl+d]
5
{ow-loopkin:tmp:->
您还可以使用包()来填充它与空值:
ow-loopkin:tmp:->perl
$string = pack("Z6", 42);
print length $string;
[ctrl+d]
6
{ow-loopkin:tmp:->
的利用方法:
#!/usr/bin/perl
use strict;
use warnings;
use Data::Dumper;
require 'syscall.ph';
my $path = '/root/target';
my $buf = "\0"x512; # $buf (pointer) must be large enough to receive data
# See statf(2) on Linux
syscall(&SYS_statfs, $path, $buf) == 0 or die($!);
my @st = unpack 'L7', $buf;
print Dumper(\@st);
1;
可这有什么可能的用途? – Ether 2010-12-03 15:55:27
@字符串的其他空填充可用于加密应用程序。 – RKeast 2014-07-30 16:45:49