2005年08月10日(水) [過去の今日]
#1 Ratocの切替器
たまーになんだが、BIOSがキーボードついてねーぞゴルァと怒る事がある。 エミュレーションされてないギミ?
USBキーボード対応の切替器に交換しようかなあ……。今のPS/2のキーボードをUSB変換して……挙動が怪しくなるかなあ。
(@495)
#2 perlのSwitchの謎
んー、謎い。
#!/usr/bin/perl use strict; use utf8; use Switch; switch_test($ARGV[0]); sub switch_test($) { my $hoge = shift; switch($hoge) { case /hoge/ { print "hoge hoge!\n"; } case /moge/ { print "moge moge!\n"; } else { print "May the hoge be with you!\n"; } } };
こんなコードを実行すると、
$ ./switch.pl Bareword found where operator expected at ./switch.pl line 17, near "case" (Missing semicolon on previous line?) syntax error at ./switch.pl line 12, near ") {" syntax error at ./switch.pl line 20, near "}" Execution of ./switch.pl aborted due to compilation errors.
こんなエラーが。
で、関数内に use Switch; を足してやる。
#!/usr/bin/perl use strict; use utf8; use Switch; switch_test($ARGV[0]); sub switch_test($) { use Switch; my $hoge = shift; switch($hoge) { case /hoge/ { print "hoge hoge!\n"; } case /moge/ { print "moge moge!\n"; } else { print "May the hoge be with you!\n"; } } };
と、
$ ./switch.pl hoge hoge hoge!
ちゃんと動く。
Switch.pm ってこういうもんなん? 質問するにもどこに投げたらええんかのう。 perl-tech に投げるにはためらわれるような気もするのだが。
(@496)