Получить обрезанный текст из элемента управления Text Area, используя Perl Win32 :: GUI - PullRequest
0 голосов
/ 07 декабря 2011

Как получить обрезанный текст (LTRIM и RTRIM) из элемента управления TextArea.Элемент управления TextArea был создан с помощью модуля Win32 :: GUI.

use strict;
use Win32;
use Win32::GUI;


my $DOS = Win32::GUI::GetPerlWindow();
Win32::GUI::Hide($DOS);

my $main_window=Win32::GUI::Window->new(
        -name => 'main_window',
        -text => 'main_window_Test',
        -left => 375,
        -top  => 200,
        -width =>510,#370,
        -height =>220,
        -background => [190,190,190],
        -dialogui   => 1,
        -maximizebox => 0,
  );

my $Entry_Path=$main_window->AddTextfield(
        -name => 'entrypath',
        -pos => [220,66],
        -size => [180,23],
        -align => 'left',
        -foreground => [],
        -tabstop => 1,
  );


my $get_trim_Button=$main_window->AddButton(                     
        -text => 'Create Trimmed texts',
        -name =>  'ncxcreate',
        -size => [110,20],
        -align=>center,
        -pos  =>  [255,150],
        -background =>  [190,190,190],
        -foreground => [],
        -tabstop => 1,
        -disabled=>1
  );

$main_window->Show();
Win32::GUI::Dialog();

sub ncxcreate_Click{
 my $text_received=$Entry_Path->Text;
}

В приведенном выше коде мне нужно получить усеченное текстовое значение (удаленные тексты в начале и в конце) в скаляре $ text_received.

1 Ответ

1 голос
/ 07 декабря 2011

Итак, вы ищете функцию обрезки?

sub trim { ( my $s = $_[0] ) =~ s/^\s+|\s+$//g; $s }

sub trim { $_[0] =~ s/^\s+|\s+$/gr }  # 5.14+

Также используйте / m для удаления начальных и конечных пробелов из каждой строки.

sub trim_multi { ( my $s = $_[0] ) =~ s/^\s+|\s+$//mg; $s }

sub trim_multi { $_[0] =~ s/^\s+|\s+$/mgr }  # 5.14+
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...