![]() |
|
|
Google unix.com
|
|||||||
| Форумы | Регистрация | Правила форума | Ссылки | Альбомы | ЧАВО | Список участников | Календарь | Поиск | Сегодняшние сообщения | Отметить форумы читать |
| Shell программирование и сценарии Почтовые вопросы о KSH, CSH, SH, BASH, Perl, PHP, SED, AWK и скрипты оболочки и оболочки скриптовых языков здесь. |
Подробнее UNIX и Linux Темы форума можно найти полезные
|
||||
| Нить | Резьба для начинающих | Форум | Ответы | Последнее сообщение |
| Поиск заменить строку в file1 со строкой из (таблицы поиска) file2? | gstuart | Shell программирование и сценарии | 9 | 06-08-2009 07:11 AM |
| libapache2-мод-карабканье-МП 0,2 (по умолчанию филиала) | iBot | Релизов программ - RSS Новости | 0 | 07-10-2008 07:50 PM |
| Карабканье Яйца 1.1 (по умолчанию филиала) | iBot | Релизов программ - RSS Новости | 0 | 05-04-2008 06:30 PM |
| добавить строку в текстовый файл, основанные на поиске строки | malaymaru | Shell программирование и сценарии | 1 | 06-09-2006 09:53 AM |
| SED проблема - замена строки должны быть одинаковой длины, как соответствующие строки. | amangeles | Shell программирование и сценарии | 4 | 01-11-2006 06:11 AM |
![]() |
|
|
LinkBack | Резьба Инструменты | Искать в этом Thread | Оценить Thread | Режимы дисплея |
|
|
|
||||
|
Карабканье строку.
Привет всем, Я пытаюсь написать Perl скрипт, который будет принимать ввод пользователя в виде строки и карабканье строку и распечатать результат. Примечание: Я не могу использовать функцию Shuffle .... используя для петель. Код:
so here is example. Enter a String: abcdef Print the Result: debacf Enter a String: abcdef print the Result: cdabef Вот мои Perl код, но он не работает так: Код:
print "Enter a string: ";
$sString = <STDIN>;
chomp($sString);
print "String = $sString\n";
$iLength = length($sString);
@array = split(//, $sString);
print "array = @array\n";
print "length = $iLength\n";
for ( $i = 1; $i <= $iLength; $i++ ){
$item = int(rand($#array));
print "@array[$item]\n";
}
Пожалуйста, любой орган, помоги мне. спасибо, |
|
||||
|
Если у вас есть Perl 5.8.0 или более поздней версии вашего следовало Shuffle. Если вы не можете использовать Shuffle, почему бы и нет?
|
|
||||
|
Самый простой способ состоит в том, чтобы петля через массив обмен каждый пункт с другим пунктом в произвольном положении. Обратите внимание, что массив индексируется с 0, а не 1. Код:
for ( $i = 0; $i < $iLength; $i++ ){
$random = int(rand($#array));
$temp=$array[$random];
$array[$random]=$array[$i];
$array[$i]=$temp;
}
for ( $i = 0; $i < $iLength; $i++ ){
print "$array[$i]";
}
print "\n";
|
|
||||
|
|
![]() |
| Закладки |
| Резьба Инструменты | Искать в этом Thread |
| Режимы дисплея | Оценить эту ветку |
|
|