Next | Program Repair Shop | 27 |
Here's another chunk from another program:
sub filetype { my $filename = shift;
return "cc" if $filename =~ /\.[ch](pp)?$/; return "perl" if $filename =~ /\.(pl|pm|pod|tt|ttml|t)$/; return "php" if $filename =~ /\.(phpt?|html?)$/; return "python" if $filename =~ /\.py$/; return "ruby" if $filename =~ /\.rb$/; return "shell" if $filename =~ /\.[ckz]?sh$/; return "sql" if $filename =~ /\.(sql|ctl)$/; ...
Perl has a really nice idiom for this sort of thing:
sub filetype { my $filename = shift;
for ($filename) { return "cc" if /\.[ch](pp)?$/; return "perl" if /\.(pl|pm|pod|tt|ttml|t)$/; return "php" if /\.(phpt?|html?)$/; return "python" if /\.py$/; return "ruby" if /\.rb$/; return "shell" if /\.[ckz]?sh$/; return "sql" if /\.(sql|ctl)$/;
Next | Copyright © 2006 M. J. Dominus |