How to know you're having a bad day

Ovid on 2006-09-20T13:23:26

You know you're having a bad day when the following quick hack becomes an indispensable snippet that you bind to a key in vim:

#!/usr/bin/perl -l

use strict;
use warnings;

my $file = shift or die "usage: $0 lib";

use lib 'lib';
require $file or die "Cannot require $file";

foreach my $sym ( sort keys %:: ) {
    next unless $sym =~ /^[[:word:]]+$/;
    next if $sym =~ /^[[:digit:]]$/;
    next unless `grep -l '[\@\$%]$sym' $file`;
    print $sym;
}


Ouch

Aristotle on 2006-09-20T14:23:04

That’s pretty terrible.

Re:Ouch

Ovid on 2006-09-20T14:28:29

And it's going to get a lot worse as I expand this to match what type of variable we have. I once joked about writing Symbol::Table::Find and Symbol::Table::Grep, but now I might have to!

Fortunately the programmers I work with are pretty sharp and our new code is much cleaner.