#!/usr/bin/perl # Shuffles cards #### use strict; use warnings; #### sub b { push(@pack, shift @pack); } #### sub i { my ($a, $b, $c, $d, $e, $f, $g, $h) = @pack; @pack = ($e, $a, $f, $b, $g, $c, $h, $d); } sub o { my ($a, $b, $c, $d, $e, $f, $g, $h) = @pack; @pack = ($a, $e, $b, $f, $c, $g, $d, $h); } #### sub parse { my ($string) = @_; print "\nParse $string: "; foreach $offset (0..(length($string)-1)) { $char = substr($string, $offset, 1); #### for (string =~ /./g) { # ... #### for (split //, $string) { # ... #### for (/./g) { # ... #### for (split //) { # ... #### if ($char =~ /b|i|o/) { print "bio "; &{$char}; } #### elsif ($char =~ /\d/) { print "digit "; # foreach (1..$char) { &parse(substr($string, $offset+1)); }