sub sanitize_name { # make uri-sane filenames # We assume Unicode on input. # XXX Maybe use whatever SocialText used to create titles # First, downgrade to ASCII chars (or transliterate if possible) @_ = unidecode(@_); for( @_ ) { s/['"]//gi; s/[^a-zA-Z0-9.-]/ /gi; s/\s+/_/g; s/_-_/-/g; s/^_+//g; s/_+$//g; }; wantarray ? @_ : $_[0]; };