思ったより面白かった。
% perl -pe 's/¥w/po/g' GMMI.pm
#!/popopo/popopo/popopopo -po
popopo popopopopopo;
popopo popopopopopopopopopopopopopopopo;
popopo popopopopopopo;
popopo popopopopopopopopopopopopopopo;
popopo popopopo::popopopopopo;
######################################################
# popopopopopopopo/popopopopopopopo popopopopopopopo popopopo popopo popo popopo
popopopopo popo #
# popopopopo popopopo popo popopopo popopopopopopopopo #
######################################################
popopo popopopo{
popo %popopopopopopopopopo = (
-po => [], # popopopopo popopopo popopopopopopopo popo po
popopo popopo
-po => [], # popopopopopopopo popopopopopopopo popo popop
opopo popopo
-po => po, # popopopopopo popopopopo
-po => popo, # popopopopopopo popo popopo-popopopopo
-po => po, # popopopo popopo 'popopopopopopo' popopopo
-po => po, # popopopo popopo 'popopopopopopo' popopopo
-popopopopopopopopo => po, # popopopo popopo 'popopopopo-p
opopo popopopopopopopopopo'
@po,
);
...
コメント (3)
へんなもんpoにするな.
どうせならキーボードのスキャンコードとか使ってで完全に可逆に変換してpoperlとかでプログラム実行できるようにしてくれ.
ScanCode Set2は16進数だからうまいこと2進数(po)にできるはず.
投稿者: NZM | 2006年07月04日 00:41
できた。cs0の僕のホームに置いたよ
[po@cs0 ~]$ ./poperl
USAGE:
to transform perlscript to pofile:
./poperl -t [perlscript] >[pofilename]
to execute pofile
./poperl [pofilename]
[po@cs0 ~]$ cat hoge.pl
#!/usr/bin/perl
print "hello world!\n";
[po@cs0 ~]$ ./poperl -t hoge.pl
pooopppppoooppoppoopoppopoopoooppooopoppppopppppppopppoppoopoppppooppopopoopoopppoopoopppoopooooppoppppppooopooopoopoooopoooppoppoopoopppooppoppppoppppopopooopppoopooopppopppopppooopoo
[po@cs0 ~]$ ./poperl -t hoge.pl > po
[po@cs0 ~]$ ./poperl po
hello world!
ソースはこんな
#!/usr/bin/perl -w
use strict;
my $transform = 0;
unless (defined $ARGV[0]){
print "USAGE:
to transform perlscript to pofile:
./poperl -t [perlscript] [pofilename]
to execute pofilename
./poperl [pofilename]
";
exit
}
$transform = shift @ARGV if($ARGV[0] eq '-t');
my $filename = shift @ARGV;
if($transform){
open F, $filename;
my $file = undef;
map{chomp; next if (/^\=/); s/\#.*//g;$file .= $_} <F>;
close F;
my $length = (length $file) * 8;
my $ret = unpack "B$length", $file;
$ret =~ tr/[01]/[po]/;
print $ret;
exit;
}
open F, $filename;
my $file = undef;
map{$file .= $_} <F>;
close F;
my $length = (length $file);
$file =~ tr/[po]/[01]/;
my $ret = pack "B$length", $file;
eval $ret;
投稿者: negipo | 2006年07月04日 01:18
nharry npotter
投稿者: 匿名 | 2008年04月24日 21:18