Perlにだって必要ありません;

% perl t/semicolon.pl
Hello, Ruby.  What's up?
Welcome back, Perl;
% cat t/semicolon.pl
no semicolon;
print "Hello, Ruby.  "
print "What's up?\n"
use semicolon;
print "Welcome back, Perl;\n";

no semicolon;そのものには;が必要だけど(^_-;

pragmaがないrubyにはできますまいd(^o^)b

Dan the Rubyphiliac Perl Monger;

注意:CPANには上がってません。もちろん標準装備ではありません

package semicolon;
use 5.008001;
use strict;
use warnings;
our $VERSION = sprintf "%d.%02d", q$Revision: 0.1 $ =~ /(\d+)/g;
use Filter::Util::Call;
my %opt = ();
sub import{
    my $class = shift;
    filter_del();
    %opt = ();
}
sub unimport{
    my $class = shift;
    %opt = map { $_ => 1 } @_;
    filter_add(sub{
                   my $status = filter_read();
                   if ($status > 0){
                       $_ =~ s/#.*//;
                       $_ =~ s/([\n\r])/;$1/;
                   }
                   return $status;
               });
}
1;
__END__

P.S. Audreyがおでかけから戻って来たので、これを見せたら、Module::Compileをいじってくれたので、これができるようになりました。CPANに反映されるのはもう少し先ですが、pugs付属の方はすでにcommitされてます。速っ。

package semicolon;
use strict;
use warnings;
use Module::Compile -base;
sub pmc_use_means_no { 1 } # これでuseとnoを反転
sub pmc_compile{
    my ($class, $source) = @_;
    $source =~  s/#.*//mg;
    $source =~ s/([\n\r])/;$1/mg;
    $source;
}
1;