Here is a program that writes a file that has a 186-char subroutine which is my golf entry:
#!/usr/bin/perl
open SEG, ">segment.pl" or die "Can't write seg.pl: $!\n";
binmode SEG;
while(<DATA>){
s/::::::::/pack"H*",'1f10001100100111'/e;
s/!!!!!!!!!!!!!!!/pack"H*",'fca88a04228f12420caacc30125084'/e;
print SEG $_;
}
__END__
#!/usr/bin/perl
sub d{
y/01/ #/for@p=unpack"b5"x8,"::::::::";
y/-./ab/for@n=split//,pop;
@s=grep$_,split/(..)/,unpack"b*",'!!!!!!!!!!!!!!!';
map{$l=$_;join" ",map($p[$l<<2&4|3&$s[$l+5*hex$_]],@n),$/}
0,1,1,2,3,3,4
}
print d("123-45");
print d("67.890");
So if you download this code into a file called, for example,
"seg1.pl", then you could do the following:
$ perl seg1.pl
$ perl segment.pl
# ##### ##### # # #####
# # # # # #
# # # # # #
# ##### ##### ##### ##### #####
# # # # #
# # # # #
# ##### ##### # #####
##### ##### ##### ##### #####
# # # # # # # #
# # # # # # # #
##### # ##### ##### # #
# # # # # # # #
# # # # # # # #
##### # # ##### ##### #####
$
The reason for the extra step is that I have two binary strings as part of my subroutine.
I suspect the sub can be golfed quite a bit still... Have fun. (:
-
tye
(but my friends call me "Tye")
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.