GothPunk.com(Munity)

The GothPunk.com(Munity) is a place where goths, punks, industro-freaks, and related groups can get together. It’s two parts web-zine, one part news/reviews site, and a random splash of other stuff. The connections between goth and punk go back a long way further than White Wolf Games’ “Gothic-Punk World of Darkness” – goth originally grew out of punk, and they both retain some ties to each other. This site aims to keep strengthening those ties, and give us all a place on the Web to hang out.

% foreach my $this_sect (@cat_list) { % next if ($this_sect eq 'interactive'); % my $heading = ucfirst($this_sect); % unless ($heading =~ /s$/ || $heading eq 'Interactive') { % if ($heading =~ /y$/) { % $heading = $`.'ies'; % } else { % $heading .= 's'; % } %# $heading = 'How-Tos' if ($heading eq 'Howtos'); % } % my $items = 0; % my $num_keys = keys(%$this_sect); % if ($num_keys) {

<% $heading %>

% } % if ($add_link) { % my $add_link_url = lc($heading);

Read All <% $heading %>...

% } % }

Other Stuff


Want to contribute content to the GothPunk Community? We’d love to see it! We’re especially looking for: artwork, essays, reviews (of clubs, movies, music, whatever), rants, articles and such-like. In fact, we have a whole list of things we’re looking for, and submission guidelines describing how to send them. Send submissions to webmaster@GothPunk.com.

<%init> # Find the three most recent items in each category. $| = 1; no strict 'vars'; no strict 'subs'; no strict 'refs'; my @dirs_to_check = ('','articles','howtos','poems','rants','news', 'reviews','lists','quizzes'); my @cat_list = ('news','article','story','poem','rant','howto','review','interactive'); foreach (@cat_list) { undef %$_; } # Here's where you put in anything that should always be added, # but its owner might not remember to put in the s. my %project = ('99990000' => '/formaldihyde/'); my $file_count = 0; foreach my $this_dir (@dirs_to_check) { # Clean up slashes between path elements. if (length($this_dir) > 1 && $this_dir !~ /\/$/) { $this_dir .= '/'; } $this_dir = $ENV{'DOCUMENT_ROOT'}.'/'.$this_dir; # Get a list of all HTML files in the dir... opendir(DIR, $this_dir); while (my $this_file = readdir DIR) { $this_file = $this_dir . $this_file; if (-f $this_file && $this_file =~ /\.html$/i) { undef %$this_file; # For each HTML file, read through and get some data. open FILE, "$this_file"; $file_count++; my $found_h1 = 0; my $found_h2 = 0; my $found_h3 = 0; while () { if (//i) { $$this_file{Category} = $1; } if (//i) { $$this_file{DatePosted} = $1; } if (//i) { $$this_file{Blurb} = $1; } if ($$this_file{Blurb} =~ /\*([^*]{1,20})\*/) { $$this_file{Blurb} = $`.''.$1.''.$'; } if (//i) { $$this_file{Description} = $1; } if (//i) { $$this_file{Title} = $1; $found_h1 = $found_h2 = 1; } if (/

([^<]+)<\/h1>/i && ! $found_h1) { $$this_file{Title} = $1; $found_h1 = 1; } if (/

([^<]+)<\/h2>/i && ! $found_h2 && $$this_file{Title} =~ /:$/) { $$this_file{Title} .= ' '.$1; $found_h2 = 1; } if (/

([^<]+)<\/h3>/i && ! $found_h3) { $$this_file{Author} = $1; $found_h3 = 1; } last if ($$this_file{Category} && $$this_file{DatePosted} && $$this_file{Title} && $$this_file{Author} && ($$this_file{Blurb} || $$this_file{Description})); } close FILE; $$this_file{Title} =~ s/:\s?$//; $cat_name = $$this_file{'Category'}; $date_key = $$this_file{'DatePosted'} . '.' . $file_count; $$cat_name{$date_key} = $this_file; } elsif (-f $this_file && $this_file =~ /\.blurb$/i) { undef %$this_file; # For each HTML file, read through and get some data. open FILE, "$this_file"; $file_count++; while () { if (//i) { $$this_file{Category} = $1; next; } if (//i) { $$this_file{Headline} = $1; next; } if (//i) { $$this_file{DatePosted} = $1; next; } $$this_file{Blurb} = $_; } close FILE; $cat_name = $$this_file{'Category'}; $date_key = $$this_file{'DatePosted'} . '.' . $file_count; $$cat_name{$date_key} = $this_file; } } closedir DIR; } <%args>