in reply to Re^2: More while issues
in thread More while issues

More possible solutions! I need a happy smiley.

Replies are listed 'Best First'.
Re^4: More while issues
by ynonp (Initiate) on Mar 04, 2011 at 10:28 UTC

    Hi, Using RegExp I'd use the following (here @stash represents the layers):

    use strict; use warnings; my $needed_ys = 7; my $str = 'Why do you need 7 ys when cll you hve re as and cs'; my $orig = $str; my @stash = qw(a c); my @existing = $str =~ /y/g; my $missing = $needed_ys - @existing; foreach my $letter (@stash) { while ( $missing > 0 ) { last unless $str =~ s/$letter/y/; $missing -= 1; } } print 'Original: ', $orig, "\n"; print 'Result: ', $str, "\n";