The UNIX and Linux Forums  

Go Back   UNIX og Linux Forums > Top Forums > Shell Programmering og Scripting
.
google unix.com



Shell Programmering og Scripting Post spørgsmål om ksh, CSH, SH, Bash, Perl, PHP, SED, AWK og ANDRE shell scripts og Shell scriptsprog her.

Mere UNIX og Linux Forum Emner du måske kan finde Helpful
Tråd Thread Starter Forum Svar Last Post
Søg, erstatte strengen i file1 med strengen fra (opslagstabelnavn) fil2? gstuart Shell Programmering og Scripting 9 06-08-2009 07:11 AM
libapache2-mod-scramble-ip 0.2 (Default branch) iBot Software Releases - RSS Nyheder 0 07-10-2008 07:50 PM
Kamp Æg 1,1 (Default filial) iBot Software Releases - RSS Nyheder 0 05-04-2008 06:30 PM
tilføjer strengen til tekstfil baseret på søgestreng malaymaru Shell Programmering og Scripting 1 06-09-2006 09:53 AM
sed problem - udskiftning strengen skal være samme længde som matcher strengen. amangeles Shell Programmering og Scripting 4 01-11-2006 06:11 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Søg denne tråd Rate Thread Display Modes
  #1 (permalink)  
Old 08-29-2008
e-mail-lalit email-lalit is offline
Registreret Bruger
  
 

Join Date: May 2008
Stillinger: 36
Scramble en streng.

Hej alle,

Jeg forsøger at skrive en perl script, der vil tage brugerinput som en streng og kravle strengen og udskrive resultatet.
Bemærk: Jeg kan ikke bruge shuffle-funktion .... hjælp til loop.


Code:
so here is example.
Enter a String: abcdef

Print the Result: debacf 

Enter a String: abcdef

print the Result: cdabef

Her er mit perl kode, men det virker ikke helt:

Code:
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";
}

Please ethvert organ hjælpe mig.

tak,
  #2 (permalink)  
Old 08-29-2008
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Beliggenhed: NM
Indlæg: 5.808
Hvis du har perl 5.8.0 eller nyere din burde have shuffle. Hvis du ikke kan bruge shuffle, hvorfor ikke?
  #3 (permalink)  
Old 09-01-2008
Annihilannic Annihilannic is offline Forum Advisor  
  
 

Join Date: May 2008
Location: Sydney, Australien
Stillinger: 1009
Den enkleste måde er at sløjfe gennem array bytter hvert punkt med et andet element i en tilfældig position. Bemærk, at array er indekseret fra 0, ikke 1.


Code:
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";

  #4 (permalink)  
Old 09-01-2008
epoke era is offline Forum Advisor  
Herder af Useless Cats (On Sabbatical)
  
 

Join Date: Mar 2008
Location: / der / er / kun / bin / sh
Stillinger: 3652
Jeg havde ikke hørt om shuffle så jeg googled en smule.

perlfaq4 - perldoc.perl.org
Closed Thread

Bogmærker

Thread Tools Søg denne tråd
Søg denne tråd:

Avanceret søgning
Display Modes Bedøm denne tråd
Bedøm denne tråd:

Udstationering Regler
Du kan ikke post nye tråde
Du kan ikke post svar
Du kan ikke post vedhæftede filer
Du kan ikke redigere dine indlæg

BB-kode er
Smilies er
[IMG] koden er
HTML-koden er Slukket
Trackbacks er
Pingbacks er
Refbacks er




Alle tidspunkter er GMT -4. Den tid er nu 08:29 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Oversættelser Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. Alle rettigheder Reserved.Ad Management ved RedTyger

Content Relevant webadresser ved vBSEO 3.2.0