LINUX.ORG.RU

Perl


0

0

Есть строка " 9 19 6 9 7 " надо разбить ее на слова. делаю это так:

#!/usr/bin/perl

$a1[1] = " 9 19 6 9 7 "; @a22 = split(/\s/, $a1[1]); for($i = 0; $i < scalar(@a22); $i++){ print "n$i = !$a22[$i]!\n"; }

На экране получаю: n0 = !! n1 = !9! n2 = !19! n3 = !6! n4 = !9! n5 = !7!

Как изменить шаблон, чтобы небыло пустой строки.

anonymous

#!/usr/bin/perl -w

$a1[1] = " 9 19 6 9 7 ";
$a1[1] = ~/^\s*(.+)\s*$/;
@a22 = split(/\s+/, $1);
foreach $item(@a22) {
  print "|$item|\n"; 
}

VPechorin
()

Mozno poprobovat proshe, poprobyi nachinat i s 1. 
Mozet zarabotaet, no ne znay.

Merlin86
()

Можно и так:

#!/usr/bin/perl

$a1[1] = " 9 19 6 9 7 "; @a22 = split(/ /, $a1[1]); fpreach(@a22) { next if $_ eq ''; print "$_\n"; }

anonymous
()

Опечатка - fpreach(@a22) = foreach(@a22)

8-)) ---------------------------------

Тьфу, да и вообще я тормоз - не врубился сразу, в чем именно состоит вопрос %)))

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.