From: oryann9 <[EMAIL PROTECTED]>
> To share some information in the up-incoming Perl 5.10
> there will be a replacement for the switch clause.
> 
> The given-when is the Perl answer to the switch
> (or case) keyword in other programming languages.
> It replaces Switch.pm, which was a pre-Perl 5.10
> source filter that did the same thing but didn't
> always
> work correctly.
> 
> #!/usr/bin/perl
> use feature qw(say switch);
> chomp( my $var = <STDIN> );
>    given( $var ) {
>       when( /\D/ ){ 
>          say "Needs a number!"}
>          when( $_ == 1 ) { 
>              say "Got 1!" 
>          }
>          when( $_ == 2 ) { 
>              say "Got 2!"
>          }
>          default { 
>              say "You said $_" 
>          }
>     } ## END given

Which is the same as

sub say {print @_, "\n"}

chomp( my $var = <STDIN> );
for( $var ) {
    if( /\D/ ){
        say "Needs a number!"
    }
    elsif( $_ == 1 ) {
        say "Got 1!"
    }
    elsif( $_ == 2 ) {
        say "Got 2!"
    }
    else {
        say "You said $_"
    }
}

I don't think it's a feature worth making the scripts/modules 
unusable in older perls.

Unless the when does have some more magic.

Jenda

===== [EMAIL PROTECTED] === http://Jenda.Krynicky.cz =====
When it comes to wine, women and song, wizards are allowed 
to get drunk and croon as much as they like.
        -- Terry Pratchett in Sourcery


-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to