… | |
… | |
20 | use Crossfire; |
20 | use Crossfire; |
21 | use Coro; |
21 | use Coro; |
22 | use Coro::AIO; |
22 | use Coro::AIO; |
23 | use POSIX (); |
23 | use POSIX (); |
24 | use Digest::MD5; |
24 | use Digest::MD5; |
25 | use Storable; $Storable::canonical = 1; |
25 | use Coro::Storable; $Storable::canonical = 1; |
26 | |
26 | |
27 | sub usage { |
27 | sub usage { |
28 | warn <<EOF; |
28 | warn <<EOF; |
29 | Usage: cfutil [-v] [-q] [--force] [--cache] |
29 | Usage: cfutil [-v] [-q] [--force] [--cache] |
30 | [--install-arch path] |
30 | [--install-arch path] |
… | |
… | |
419 | } |
419 | } |
420 | |
420 | |
421 | open my $fh, ">:perlio", "$DATADIR/facedata~" |
421 | open my $fh, ">:perlio", "$DATADIR/facedata~" |
422 | or die "$DATADIR/facedata~: $!"; |
422 | or die "$DATADIR/facedata~: $!"; |
423 | |
423 | |
424 | print $fh Storable::nfreeze { |
424 | print $fh freeze { |
425 | version => 2, |
425 | version => 2, |
426 | faceinfo => \%FACEINFO, |
426 | faceinfo => \%FACEINFO, |
427 | animinfo => \%ANIMINFO, |
427 | animinfo => \%ANIMINFO, |
428 | }; |
428 | }; |
429 | } |
429 | } |