I though that at first too. But the subroutine has a prompt for user input after the previous standard output. So the loop stops after every standard out until the array is empty. Both of the print statements are printing after the subroutine so it should be printing same @list_words. Right?
The subroutine asks the user for a string of characters and uses them as a character set in a regex. Any of the words that don't contain any of the characters are removed from the list.
sub test_if_letters_are_included{ # Ask for input say 'Which letters would you like to use?:'; # Capture user input my $input = <STDIN>; # Remove the trailing newline chomp $input; # Change the input to upper case. $input = uc $input; # create a character set for the regex my $regex ="[$input]"; my @temp_list; for (@list_words) { if ($_ =~ /$regex/g) { push @temp_list, $_; } } @list_words = @temp_list; }
In reply to Re^2: Bizarre Perl behavior?
by Polymathic
in thread Bizarre Perl behavior?
by Polymathic
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |