March 01, 2005

Palindrome Update

w00t! I figured out how to enter in a sentance rather than just words (*) and then to remove the punctuation (**) and put it in lower case (***) and then to unbuffer Perl output (&) and then to print a progress bar through each check (&&). Heheh, its an easy program but its a start. #!/usr/bin/perl -w use strict; # To test for a palindrome 2005 02 28 #-Input--------------------------------------- my $word1 = join( ' ', @ARGV ); # (*) if (! $word1) { print "\n"; print "Palindrome 2005\n"; print "Please enter a word to check: "; $word1 = ; chomp ($word1); } else { print "\n"; print "Processing on \"$word1\"...\n"; } #-Format Inputs------------------------------- my $word2 = $word1; $word1 =~ s/[,\.!\?\s@#\$\%^\*-=;'":]//g; # (**) $word1 = lc($word1); # (***) my @array_word1 = split (//, $word1); my $array_word1_length = scalar @array_word1; #-Test---------------------------------------- my $palindrome = 1; my $i; my $x = $array_word1_length - 1; $| = 1; # (&) 1=on, 0=off for($i = 0; $i <= ($x - $i); $i++) { print "."; # (&&) sleep 1; if ($array_word1[$i] ne $array_word1[($x - $i)]) { $palindrome = 0; last; } } #-Result-------------------------------------- my $not; if ($palindrome == 1) { $not = ""; } else { $not = " not"; } print "\n"; print "The word or phrase \"$word2\" is$not a palindrome!\n"; print "\n"; #=End=========================================

0 Comments:

Post a Comment

<< Home