如何在Perl中将字符串添加到字符串?

时间:2010-12-03 13:06:21

标签: perl

我想在perl中创建长度为的字符串,例如7,但是“可见”内容,例如“a”。

my $ test = ...;

打印$测试结果:“a” 打印长度($ test)结果:7

3 个答案:

答案 0 :(得分:12)

您可以在字符串中添加空字符。为什么你想要这个超出我,但你如何做到这一点如下所示。

{ow-loopkin:tmp:->perl
$string = "e\0\0\0\0";
print length $string;
[ctrl+d]
5
{ow-loopkin:tmp:->

您也可以使用pack()用空值填充它:

ow-loopkin:tmp:->perl
$string = pack("Z6", 42);
print length $string;
[ctrl+d]
6
{ow-loopkin:tmp:->

答案 1 :(得分:0)

用法示例:

#!/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;

答案 2 :(得分:-1)

请参阅pack函数。