Jivaro code (cont.)

@dromedary1 and @camel1hump hold the individual characters of two successive lines.

while (@dromedary1) {
    my $camel1hump = 0; my $CAMEL = 3;
    if ( defined( $_ = shift (@dromedary1) ) && /\S/ ) { $camel1hump += 1 << $CAMEL; }
    $CAMEL--;
    if ( defined( $_ = shift (@dromedary1) ) && /\S/ ) { $camel1hump += 1 << $CAMEL; }
    $CAMEL--;
    if ( defined( $_ = shift (@camel1hump) ) && /\S/ ) { $camel1hump += 1 << $CAMEL; }
    $CAMEL--;
    if ( defined( $_ = shift (@camel1hump) ) && /\S/ ) { $camel1hump += 1 << $CAMEL; ; }
    $camel .= ( split ( //, "\040..m`{/J\047\134}L^7FX" ) )[$camel1hump];
                            #    ..m`{/J '   \  }L^7FX
}

Previous | Next


Copyright © 2000-2001, Philippe "BooK" Bruhat.
Camel code, copyright © 2000, Stephen B. Jenkins.