2012-03-20 2 views
0

Я использую нулевой символ (\0) в качестве разделителя, чтобы сохранить начальные белые пробелы строк после sprintf. Но строки с нулевым символом не работают (в данном случае) с функцией Cursesaddstr.
Есть ли подходящий символ для замены \0 для этой цели?Что хорошего персонажа для разделения строк с ведущими пробелами?

#!/usr/bin/env perl 
use warnings; 
use 5.12.0; 


sub routine { 
    my @list = @_; 
    @list = map{ "\0".$_."\0"; } @list; 
    # ... 
    # ... 
    @list = map{ sprintf "%35.35s", $_ } @list; 
    # ... 
    # ... 
    my $result = $list[5]; 

    $result =~ s/\A\s+\0//; 
    $result =~ s/\0\s+\z//; 
    return $result; 
} 
+4

Что именно вы делаете, что это вскрышные пропуска? 'Sprintf'? – TLP

+0

Я думаю, вы должны использовать [substr] (http://perldoc.perl.org/functions/substr.html) вместо 'sprintf'. – cjm

+1

Это проблема [XY] (http://www.perlmonks.org/?node=XY%20Problem). Что на самом деле пытается «рутинная»? – ikegami

ответ

Смежные вопросы