+sub eph_dup
+{
+ my $s = shift;
+
+ # chop the end off
+ $s =~ s/\^H\d\d?\^?~?@//;
+ return 1 if exists $eph{$s};
+ $eph{$s} = $main::systime;
+ return undef;
+}
+
+sub eph_clean
+{
+ my ($key, $val);
+
+ while (($key, $val) = each %eph) {
+ if ($main::systime - $val > 90) {
+ delete $eph{$key};
+ }
+ }
+}
+