in reply to Re: Bizarre Perl behavior?
in thread Bizarre Perl behavior?
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; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: Bizarre Perl behavior?
by eyepopslikeamosquito (Archbishop) on Jan 31, 2022 at 07:15 UTC | |
|
Re^3: Bizarre Perl behavior?
by jwkrahn (Abbot) on Jan 31, 2022 at 04:05 UTC |