Print "still open" messages.
[userv-utils] / finger / setprefs
CommitLineData
5f9b7675 1#!/usr/bin/perl
2
3use POSIX;
4
5@ARGV==3 or die;
6($prefs_file, $new_list, $new_search) = @ARGV;
7
8$new_list =~ m/^(\-|\+[imtlfn]+)$/ or die; $new_list= $1;
9$new_search =~ m/^([nuy])$/ or die; $new_search= $1;
10
11$user= $ENV{'USERV_USER'}; length $user or die;
12
13open N, ">$prefs_file.new" or die $!;
14
15if (open P, $prefs_file) {
16 while (<P>) {
17 die unless m/^(\w+) /;
18 next if $1 eq $user;
19 print N or die $!;
20 }
21 close P or die $!;
22} elsif ($! != &ENOENT) {
23 die $!;
24}
25
26print N "$user $new_list $new_search\n" or die $!;
27close N or die $!;
28
29rename "$prefs_file.new", $prefs_file or die $!;